Completed
Branch master (ddb139)
by Yann
02:49
created

ConventionedEnumCollectorCompilerPass   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 76.92%

Importance

Changes 2
Bugs 1 Features 1
Metric Value
wmc 4
c 2
b 1
f 1
lcom 0
cbo 2
dl 0
loc 25
ccs 10
cts 13
cp 0.7692
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 19 4
1
<?php
2
3
namespace EnumBundle\DependencyInjection\CompilerPass;
4
5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
8
/**
9
 * @author Yann Eugoné <[email protected]>
10
 */
11
class ConventionedEnumCollectorCompilerPass implements CompilerPassInterface
12
{
13
    /**
14
     * {@inheritdoc}
15
     */
16 3
    public function process(ContainerBuilder $container)
17
    {
18 3
        $bundles = $container->getParameter('enum.register_bundles');
19
20 3
        if (!$bundles) {
21
            return;
22
        }
23
24 3
        if (true === $bundles) {
25
            $bundles = $container->getParameter('kernel.bundles');
26
        } else {
27 3
            $bundles = (array) $bundles;
28
        }
29
30 3
        foreach ($bundles as $bundleClass) {
31 3
            $declarativePass = new DeclarativeEnumCollectorCompilerPass($bundleClass);
32 3
            $declarativePass->process($container);
33 3
        }
34 3
    }
35
}
36