Configuration   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 6
Bugs 0 Features 0
Metric Value
wmc 1
c 6
b 0
f 0
lcom 0
cbo 3
dl 0
loc 32
ccs 24
cts 24
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B getConfigTreeBuilder() 0 29 1
1
<?php
2
3
namespace Zenstruck\CacheBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
8
/**
9
 * @author Kevin Bond <[email protected]>
10
 */
11
class Configuration implements ConfigurationInterface
12
{
13 24
    public function getConfigTreeBuilder()
14
    {
15 12
        $treeBuilder = new TreeBuilder();
16 12
        $rootNode = $treeBuilder->root('zenstruck_cache');
17
18
        $rootNode
19 24
            ->children()
20 24
                ->scalarNode('http_client')
21 24
                    ->info('Either a class or a service that implements Http\Client\HttpClient.')
22 24
                    ->isRequired()
23 24
                ->end()
24 24
                ->scalarNode('message_factory')
25 24
                    ->info('Either a class or a service that implements Http\Message\MessageFactory.')
26 24
                    ->isRequired()
27 24
                ->end()
28 24
                ->arrayNode('sitemap_provider')
29 24
                    ->canBeEnabled()
30 24
                    ->children()
31 24
                        ->arrayNode('sitemaps')
32 24
                            ->requiresAtLeastOneElement()
33 12
                            ->prototype('scalar')->end()
34 24
                        ->end()
35 24
                    ->end()
36 24
                ->end()
37 24
            ->end()
38 12
        ;
39
40 24
        return $treeBuilder;
41
    }
42
}
43