Completed
Push — master ( 6d5669...ad217e )
by Daniel
04:41
created

Configuration   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 36
ccs 25
cts 25
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B getConfigTreeBuilder() 0 30 1
1
<?php
2
/**
3
 * @package narrator-bundle
4
 */
5
6
namespace Mleko\Narrator\Bundle\DependencyInjection;
7
8
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
9
use Symfony\Component\Config\Definition\ConfigurationInterface;
10
11
/**
12
 * This is the class that validates and merges configuration from your app/config files
13
 *
14
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class}
15
 */
16
class Configuration implements ConfigurationInterface
17
{
18
    /**
19
     * {@inheritdoc}
20
     */
21 3
    public function getConfigTreeBuilder()
22
    {
23 3
        $treeBuilder = new TreeBuilder();
24 3
        $rootNode = $treeBuilder->root('narrator');
25
26
        $rootNode
27 3
            ->children()
28 3
                ->arrayNode('event_bus')
29 3
                ->defaultValue(['default' => ['resolver' => ['type' => 'name', "name_extractor" => "narrator.name_extractor.class_name"]]])
30 3
                ->requiresAtLeastOneElement()
31 3
                ->useAttributeAsKey('name')
32 3
                ->prototype("array")
33 3
                    ->children()
34 3
                    ->arrayNode('resolver')
35 3
                        ->children()
36 3
                            ->enumNode('type')
37 3
                            ->values(['name', 'instanceof', 'service'])
38 3
                            ->isRequired()
39 3
                        ->end()
40 3
                            ->scalarNode('name_extractor')
41 3
                            ->defaultValue("narrator.name_extractor.class_name")
42 3
                        ->end()
43 3
                            ->scalarNode('service_id')
44 3
                        ->end()
45 3
                    ->end()
46 3
                ->end()
47 3
            ->end();
48
49 3
        return $treeBuilder;
50
    }
51
}
52