StoragePass::process()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 1
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace NV\RequestLimitBundle\DependencyInjection\Compiler;
4
5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
8
class StoragePass implements CompilerPassInterface
9
{
10
    /**
11
     * @param ContainerBuilder $container
12
     */
13
    public function process(ContainerBuilder $container)
14
    {
15
        $providerType            = $container->getParameter('nv_request_limit.provider_type');
16
        $providerConfiguration   = $container->getParameter('nv_request_limit.provider_configuration');
17
        $providerTypeServiceName = sprintf('nv.request_limit.%s.provider', $providerType);
18
19
        $providerDefinition = $container->getDefinition($providerTypeServiceName);
20
        $providerDefinition->addMethodCall('configure', [$providerConfiguration]);
21
22
        $storageManagerDefinition = $container->getDefinition('nv.request_limit.storage_manager');
23
        $storageManagerDefinition->addMethodCall('setProvider', [$providerDefinition]);
24
    }
25
}
26