Configuration   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 95.65%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 41
ccs 22
cts 23
cp 0.9565
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 12 1
A getTokenNode() 0 19 1
1
<?php
2
3
namespace Happyr\GoogleSiteAuthenticatorBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
8
/**
9
 * This is the class that validates and merges configuration from your app/config files.
10
 */
11
class Configuration implements ConfigurationInterface
12
{
13
    /**
14
     * {@inheritdoc}
15
     */
16 2
    public function getConfigTreeBuilder()
17
    {
18 2
        $treeBuilder = new TreeBuilder('happyr_google_site_authenticator');
19
        $root = $treeBuilder->getRootNode();
20 2
        
21
        $root->children()
22
            ->scalarNode('cache_service')->cannotBeEmpty()->end()
23 2
            ->append($this->getTokenNode())
24
        ->end();
25
26 2
        return $treeBuilder;
27 2
    }
28 2
29 2
    /**
30
     * @return \Symfony\Component\Config\Definition\Builder\NodeDefinition
31 2
     */
32
    private function getTokenNode()
33
    {
34
        $treeBuilder = new TreeBuilder('tokens');
35
        $node = $treeBuilder->getRootNode();
36
        $node
37 2
            ->isRequired()
38
            ->requiresAtLeastOneElement()
39 2
            ->useAttributeAsKey('name')
40 2
            ->prototype('array')
41
            ->children()
42 2
                ->scalarNode('client_id')->isRequired()->end()
43 2
                ->scalarNode('client_secret')->isRequired()->end()
44 2
                ->scalarNode('redirect_url')->isRequired()->end()
45 2
                ->variableNode('scopes')->end()
46 2
            ->end()
47 2
        ->end();
48 2
49 2
        return $node;
50 2
    }
51
}
52