StoragePass   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 16
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 11 1
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