Test Failed
Pull Request — master (#11)
by Pavel
11:44
created

Configuration   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 37
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 15 1
A configureJms() 0 14 1
1
<?php
2
3
namespace Bankiru\Api\JsonRpc\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
6
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
7
use Symfony\Component\Config\Definition\ConfigurationInterface;
8
9
final class Configuration implements ConfigurationInterface
10
{
11
    /** {@inheritdoc} */
12
    public function getConfigTreeBuilder()
13
    {
14
        $builder = new TreeBuilder();
15
        $root    = $builder->root('jsonrpc_server');
16
17
        $root->children()
18
             ->scalarNode('view_listener')
19
             ->info('View listener service ID')
20
             ->defaultValue('jsonrpc_server.builtin_adapter.view_listener');
21
22
        $adapters = $root->children()->arrayNode('adapters');
23
        $this->configureJms($adapters);
24
25
        return $builder;
26
    }
27
28
    /**
29
     * @param ArrayNodeDefinition $adapters
30
     */
31
    private function configureJms(ArrayNodeDefinition $adapters)
32
    {
33
        $jms = $adapters->children()->arrayNode('jms');
34
35
        $jms->children()
36
            ->arrayNode('relation_handlers')
37
            ->fixXmlConfig('relation_handler')
38
            ->useAttributeAsKey('handler')
39
            ->prototype('scalar')
40
            ->info(
41
                'Key: Relation handler name (i.e. "Relation"), Value: service ID for relation handler entity manager'
42
            )
43
            ->isRequired();
44
    }
45
}
46