Completed
Pull Request — master (#5)
by Márk
02:43
created

Configuration::getConfigTreeBuilder()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 35
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 29
CRAP Score 1

Importance

Changes 2
Bugs 1 Features 1
Metric Value
c 2
b 1
f 1
dl 0
loc 35
ccs 29
cts 29
cp 1
rs 8.8571
cc 1
eloc 30
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Indigo\Bundle\CookieConsentBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
8
/**
9
 * @author Márk Sági-Kazár <[email protected]>
10
 */
11
class Configuration implements ConfigurationInterface
12
{
13 2
    public function getConfigTreeBuilder()
14
    {
15 2
        $treeBuilder = new TreeBuilder();
16 2
        $rootNode = $treeBuilder->root('indigo_cookie_consent');
17
18
        $rootNode
19 2
            ->children()
20 2
                ->arrayNode('options')
21 2
                    ->addDefaultsIfNotSet()
22 2
                    ->children()
23 2
                        ->scalarNode('message')->defaultValue('message')->end()
24 2
                        ->scalarNode('dismiss')->defaultValue('dismiss')->end()
25 2
                        ->scalarNode('learnMore')->defaultValue('learn_more')->end()
26 2
                        ->scalarNode('link')->end()
27 2
                        ->scalarNode('container')->end()
28 2
                        ->scalarNode('theme')->end()
29 2
                        ->scalarNode('path')->end()
30 2
                        ->scalarNode('domain')->end()
31 2
                        ->integerNode('expiryDays')->end()
32 2
                        ->scalarNode('target')->end()
33 2
                    ->end()
34 2
                ->end()
35 2
                ->booleanNode('translation')
36 2
                    ->treatNullLike(true)
37 2
                    ->defaultTrue()
38 2
                ->end()
39 2
                ->scalarNode('script')
40 2
                    ->defaultValue('//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.10/cookieconsent.min.js')
41 2
                    ->info('Set this to false to disable script (eg. when you compiled it into yours)')
42 2
                ->end()
43 2
            ->end()
44
        ;
45
46 2
        return $treeBuilder;
47
    }
48
}
49