Configuration   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 23
c 1
b 0
f 0
dl 0
loc 34
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 27 1
1
<?php
2
namespace CodeCloud\Bundle\ShopifyBundle\DependencyInjection;
3
4
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
5
use Symfony\Component\Config\Definition\ConfigurationInterface;
6
7
class Configuration implements ConfigurationInterface
8
{
9
    /**
10
     * Generates the configuration tree builder for the shopify configuration entries
11
     *
12
     * @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
13
     */
14
    public function getConfigTreeBuilder()
15
    {
16
        $treeBuilder = new TreeBuilder();
17
18
        $rootNode = $treeBuilder->root('code_cloud_shopify');
19
20
        $rootNode->children()
21
            ->scalarNode('store_manager_id')->isRequired()->cannotBeEmpty()->end()
22
            ->arrayNode('oauth')->isRequired()
23
                ->children()
24
                    ->scalarNode('api_key')->isRequired()->cannotBeEmpty()->end()
25
                    ->scalarNode('shared_secret')->isRequired()->cannotBeEmpty()->end()
26
                    ->scalarNode('scope')->defaultValue('read_products')->end()
27
                    ->scalarNode('redirect_route')->isRequired()->cannotBeEmpty()->end()
28
                ->end()
29
            ->end()
30
            ->arrayNode('webhooks')
31
                ->prototype('scalar')->end()
32
                ->defaultValue([])
33
            ->end()
34
            ->scalarNode('api_version')
35
            ->end()
36
            ->scalarNode('dev_impersonate_store')
37
            ->end()
38
        ->end();
39
40
        return $treeBuilder;
41
    }
42
}
43