TwigDependencyProvider::getPathProviderList()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Twig;
6
7
8
use Xervice\Core\Business\Model\Dependency\DependencyContainerInterface;
9
use Xervice\Core\Business\Model\Dependency\Provider\AbstractDependencyProvider;
10
use Xervice\Twig\Business\Model\Path\PathCollection;
11
use Xervice\Twig\Business\Model\Path\XervicePathProvider;
12
use Xervice\Twig\Business\Model\Twig\Extensions\TwigExtensionCollection;
13
14
class TwigDependencyProvider extends AbstractDependencyProvider
15
{
16
    public const PATH_PROVIDER_COLLECTION = 'path.provider.collection';
17
    public const TWIG_EXTENSIONS = 'twig.extensions';
18
19
    /**
20
     * @param \Xervice\Core\Business\Model\Dependency\DependencyContainerInterface $container
21
     *
22
     * @return \Xervice\Core\Business\Model\Dependency\DependencyContainerInterface
23
     */
24 2
    public function handleDependencies(DependencyContainerInterface $container): DependencyContainerInterface
25
    {
26
        $container[self::PATH_PROVIDER_COLLECTION] = function () {
27 2
            return new PathCollection(
28 2
                $this->getPathProviderList()
29
            );
30
        };
31
32
        $container[self::TWIG_EXTENSIONS] = function () {
33 2
            return new TwigExtensionCollection(
34 2
                $this->getTwigExtensions()
35
            );
36
        };
37
38 2
        return $container;
39
    }
40
41
    /**
42
     * @return \Xervice\Twig\Business\Dependency\Path\PathProviderInterface[]
43
     */
44 2
    protected function getPathProviderList(): array
45
    {
46
        return [
47 2
            new XervicePathProvider()
48
        ];
49
    }
50
51
    /**
52
     * @return \Xervice\Twig\Business\Dependency\Twig\Extensions\TwigExtensionInterface[]
53
     */
54 2
    protected function getTwigExtensions(): array
55
    {
56 2
        return [];
57
    }
58
}