CoreDefinitionLoader   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 72.72%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 29
ccs 8
cts 11
cp 0.7272
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 10 2
A load() 0 7 2
1
<?php declare(strict_types = 1);
2
3
namespace Simplex\DefinitionLoader;
4
5
use DI\ContainerBuilder;
6
7
final class CoreDefinitionLoader implements DefinitionLoader
8
{
9
    private const DEFAULT_DEFINITION_FILE = __DIR__ . '/../DependencyInjection/services.php';
10
11
    /** @var array */
12
    private $configDefinitions = [];
13
14
    /** @var \SplFileInfo */
15
    private $servicesFile;
16
17 1
    public function __construct(array $configDefinitions = [], \SplFileInfo $servicesFile = null)
18
    {
19 1
        $this->configDefinitions = $configDefinitions;
20
21 1
        if (null === $servicesFile) {
22
            $this->servicesFile = new \SplFileInfo(self::DEFAULT_DEFINITION_FILE);
23
            return;
24
        }
25
26 1
        $this->servicesFile = $servicesFile;
27 1
    }
28
29 1
    public function load(ContainerBuilder $containerBuilder): void
30
    {
31 1
        if (count($this->configDefinitions) > 0) {
32
            $containerBuilder->addDefinitions($this->configDefinitions);
33
        }
34
35 1
        $containerBuilder->addDefinitions($this->servicesFile->getPathname());
36 1
    }
37
}
38