Completed
Push — master ( 647e58...6b6117 )
by Bogdan
12:00
created

CompoundContainerConfigurator   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
lcom 1
cbo 3
dl 0
loc 45
rs 10
c 1
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A configureMany() 0 6 2
A configureOne() 0 8 2
1
<?php
2
3
4
namespace Pinepain\Container\Extras;
5
6
class CompoundContainerConfigurator extends AbstractContainerConfigurator
7
{
8
    /**
9
     * @var LeagueContainerConfigurator
10
     */
11
    private $leagueContainerConfigurator;
12
    /**
13
     * @var AliasContainerConfigurator
14
     */
15
    private $aliasContainerConfigurator;
16
17
    /**
18
     * @param LeagueContainerConfigurator $leagueContainerConfigurator
19
     * @param AliasContainerConfigurator  $aliasContainerConfigurator
20
     */
21
    public function __construct(
22
        LeagueContainerConfigurator $leagueContainerConfigurator,
23
        AliasContainerConfigurator $aliasContainerConfigurator
24
    ) {
25
        $this->leagueContainerConfigurator = $leagueContainerConfigurator;
26
        $this->aliasContainerConfigurator  = $aliasContainerConfigurator;
27
    }
28
29
    /**
30
     * {@inheritdoc}
31
     */
32
    protected function configureMany($config)
33
    {
34
        foreach ($config as $alias => $options) {
35
            $this->configureOne($alias, $options);
36
        }
37
    }
38
39
    /**
40
     * {@inheritdoc}
41
     */
42
    public function configureOne($alias, $options)
43
    {
44
        if (is_string($options)) {
45
            $this->aliasContainerConfigurator->configureOne($alias, $options);
46
        } else {
47
            $this->leagueContainerConfigurator->configureOne($alias, $options);
48
        }
49
    }
50
}
51