Extension::process()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 1
1
<?php
2
3
namespace Rezzza\RestApiBehatExtension;
4
5
use Behat\Testwork\ServiceContainer\Extension as ExtensionInterface;
6
use Behat\Testwork\ServiceContainer\ExtensionManager;
7
use Symfony\Component\Config\FileLocator;
8
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
9
use Symfony\Component\DependencyInjection\Reference;
10
use Symfony\Component\DependencyInjection\ContainerBuilder;
11
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
12
13
class Extension implements ExtensionInterface
14
{
15
    public function load(ContainerBuilder $container, array $config)
16
    {
17
        $container->setParameter('rezzza.json_api.rest.base_url', $config['rest']['base_url']);
18
        $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/Resources'));
19
        $loader->load('services.xml');
20
21
        if (true === $config['rest']['store_response']) {
22
            $definitionRestApiBrowser = $container->findDefinition('rezzza.json_api.rest.rest_api_browser');
23
            $definitionRestApiBrowser->addMethodCall('enableResponseStorage', [new Reference('rezzza.json_api.json.json_storage')]);
24
        }
25
    }
26
27
    public function configure(ArrayNodeDefinition $builder)
28
    {
29
        $builder
30
            ->addDefaultsIfNotSet()
31
            ->children()
32
                ->arrayNode('rest')
33
                    ->addDefaultsIfNotSet()
34
                    ->children()
35
                        ->scalarNode('base_url')->end()
36
                        ->booleanNode('store_response')
37
                            ->defaultTrue()->end()
38
                        ->end()
39
                    ->end()
40
                ->end()
41
            ->end()
42
        ;
43
    }
44
45
    public function getConfigKey()
46
    {
47
        return 'json_api';
48
    }
49
50
    public function process(ContainerBuilder $container)
51
    {
52
    }
53
54
    public function initialize(ExtensionManager $extensionManager)
55
    {
56
    }
57
}
58
59