Failed Conditions
Pull Request — master (#25)
by Yo
07:26 queued 03:57
created

KernelConfiguration::getConfigTreeBuilder()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 47
Code Lines 41

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 47
ccs 0
cts 45
cp 0
rs 9.0303
cc 2
eloc 41
nc 1
nop 0
crap 6
1
<?php
2
namespace Yoanm\Behat3SymfonyExtension\ServiceContainer\Configuration;
3
4
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
5
use Symfony\Component\Config\Definition\ConfigurationInterface;
6
7
class KernelConfiguration implements ConfigurationInterface
8
{
9
    public function getConfigTreeBuilder()
10
    {
11
        $castToBool = function ($value) {
12
            $filtered = filter_var(
13
                $value,
14
                FILTER_VALIDATE_BOOLEAN,
15
                FILTER_NULL_ON_FAILURE
16
            );
17
18
            return (null === $filtered) ? (bool) $value : $filtered;
19
        };
20
        $treeBuilder = new TreeBuilder();
21
        $rootNode = $treeBuilder->root('kernel');
22
        $rootNode
23
            ->addDefaultsIfNotSet()
24
            ->children()
25
                ->scalarNode('bootstrap')
26
                    ->defaultValue('app/autoload.php')
27
                ->end()
28
                ->scalarNode('path')
29
                    ->defaultValue('app/AppKernel.php')
30
                ->end()
31
                ->scalarNode('class')
32
                    ->defaultValue('AppKernel')
33
                ->end()
34
                ->scalarNode('env')
35
                    ->defaultValue('test')
36
                ->end()
37
                ->booleanNode('debug')
38
                    ->beforeNormalization()
39
                    ->always()
40
                        ->then($castToBool)
41
                    ->end()
42
                    ->defaultTrue()
43
                ->end()
44
                ->booleanNode('reboot')
45
                    ->info('If true symfony kernel will be rebooted after each scenario/example')
46
                    ->beforeNormalization()
47
                        ->always()
48
                        ->then($castToBool)
49
                    ->end()
50
                    ->defaultTrue()
51
                ->end()
52
            ->end();
53
54
        return $treeBuilder;
55
    }
56
}
57