Configuration   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 18
c 2
b 0
f 0
dl 0
loc 30
rs 10
ccs 17
cts 17
cp 1
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 25 1
1
<?php
2
3
namespace Palmtree\CanonicalUrlBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
8
class Configuration implements ConfigurationInterface
9
{
10
    /**
11
     * @inheritDoc
12
     */
13 5
    public function getConfigTreeBuilder()
14
    {
15 5
        $treeBuilder = new TreeBuilder();
16 5
        $rootNode    = $treeBuilder->root('palmtree_canonical_url');
17
18
        // @formatter:off
19
        $rootNode
20 5
            ->children()
21 5
                ->scalarNode('site_url')
22 5
                    ->isRequired()->cannotBeEmpty()
23 5
                    ->validate()
24
                        ->ifTrue(function ($value) {
25 3
                            return !\is_string($value);
26 5
                        })
27 5
                        ->thenInvalid('site_url must be a string')
28 5
                    ->end()
29 5
                ->end()
30 5
                ->booleanNode('redirect')->defaultTrue()->treatNullLike(true)->end()
31 5
                ->integerNode('redirect_code')->defaultValue(301)->treatNullLike(301)->min(300)->max(399)->end()
32 5
                ->booleanNode('trailing_slash')->defaultFalse()->treatNullLike(false)->end()
33 5
            ->end()
34
        ;
35
        // @formatter:on
36
37 5
        return $treeBuilder;
38
    }
39
}
40