Failed Conditions
Pull Request — master (#1)
by Yo
04:42
created

StepLoggerConfiguration   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 76.19%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 36
ccs 16
cts 21
cp 0.7619
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B getConfigNode() 0 30 2
1
<?php
2
namespace Yoanm\BehatUtilsExtension\ServiceContainer\Configuration;
3
4
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
7
class StepLoggerConfiguration implements ConfigurationInterface
8
{
9
    /**
10
     * @return NodeDefinition
11
     */
12
    public function getConfigNode()
13
    {
14 1
        $castToBool = function ($value) {
15
            $filtered = filter_var(
16
                $value,
17
                FILTER_VALIDATE_BOOLEAN,
18
                FILTER_NULL_ON_FAILURE
19
            );
20
21
            return (null === $filtered) ? (bool) $value : $filtered;
22 1
        };
23
24 1
        $treeBuilder = new TreeBuilder();
25 1
        $rootNode = $treeBuilder->root('step_logger');
26
        $rootNode
27 1
            ->addDefaultsIfNotSet()
28 1
            ->treatFalseLike(array('enabled' => false))
29 1
            ->treatNullLike(array('enabled' => false))
30 1
            ->treatTrueLike(array('enabled' => true))
31 1
            ->children()
32 1
                ->booleanNode('enabled')
33 1
                    ->beforeNormalization()
34 1
                        ->always()
35 1
                        ->then($castToBool)
36 1
                    ->end()
37 1
                    ->defaultFalse()
38
        ;
39
40 1
        return $rootNode;
41
    }
42
}
43