Completed
Push — master ( 873526...76d715 )
by Yo
02:14
created

KernelConfiguration::getConfigTreeBuilder()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 47
Code Lines 41

Duplication

Lines 0
Ratio 0 %

Importance

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