CoreDefinitionLoader::load()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 3
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 7
ccs 3
cts 4
cp 0.75
crap 2.0625
rs 10
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