DefinitionContainerBuilder   A
last analyzed

Complexity

Total Complexity 16

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 16
eloc 34
dl 0
loc 82
ccs 35
cts 35
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A base() 0 17 4
A default() 0 21 5
B all() 0 29 7
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace DummyGenerator\Container;
6
7
use DummyGenerator\DefinitionPack\DefinitionPack;
8
use DummyGenerator\DefinitionPack\DefinitionPackInterface;
9
10
class DefinitionContainerBuilder
11
{
12
    /**
13
     *  Return DefinitionContainer instance with only Base extensions loaded
14
     */
15 1
    public static function base(?DefinitionPackInterface $definitionPack = null): DefinitionContainer
16
    {
17 1
        if ($definitionPack === null) {
18 1
            $definitionPack = new DefinitionPack();
19
        }
20
21 1
        $instance = new DefinitionContainer();
22
23 1
        foreach ($definitionPack->coreDefinitions() as $id => $definition) {
24 1
            $instance->add($id, $definition);
25
        }
26
27 1
        foreach ($definitionPack->baseExtensions() as $id => $definition) {
28 1
            $instance->add($id, $definition);
29
        }
30
31 1
        return $instance;
32
    }
33
34
    /**
35
     *  Return DefinitionContainer instance with Base and Default extensions loaded
36
     */
37 1
    public static function default(?DefinitionPackInterface $definitionPack = null): DefinitionContainer
38
    {
39 1
        if ($definitionPack === null) {
40 1
            $definitionPack = new DefinitionPack();
41
        }
42
43 1
        $instance = new DefinitionContainer();
44
45 1
        foreach ($definitionPack->coreDefinitions() as $id => $definition) {
46 1
            $instance->add($id, $definition);
47
        }
48
49 1
        foreach ($definitionPack->baseExtensions() as $id => $definition) {
50 1
            $instance->add($id, $definition);
51
        }
52
53 1
        foreach ($definitionPack->defaultExtensions() as $id => $definition) {
54 1
            $instance->add($id, $definition);
55
        }
56
57 1
        return $instance;
58
    }
59
60
    /**
61
     *  Return DefinitionContainer instance with all extensions loaded
62
     */
63 1
    public static function all(?DefinitionPackInterface $definitionPack = null): DefinitionContainer
64
    {
65 1
        if ($definitionPack === null) {
66 1
            $definitionPack = new DefinitionPack();
67
        }
68
69 1
        $instance = new DefinitionContainer();
70
71 1
        foreach ($definitionPack->coreDefinitions() as $id => $definition) {
72 1
            $instance->add($id, $definition);
73
        }
74
75 1
        foreach ($definitionPack->baseExtensions() as $id => $definition) {
76 1
            $instance->add($id, $definition);
77
        }
78
79 1
        foreach ($definitionPack->calculators() as $id => $definition) {
80 1
            $instance->add($id, $definition);
81
        }
82
83 1
        foreach ($definitionPack->defaultExtensions() as $id => $definition) {
84 1
            $instance->add($id, $definition);
85
        }
86
87 1
        foreach ($definitionPack->complementaryExtensions() as $id => $definition) {
88 1
            $instance->add($id, $definition);
89
        }
90
91 1
        return $instance;
92
    }
93
}
94