Passed
Push — master ( 654348...8ec1ee )
by Dāvis
03:00
created

LoaderPass::process()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 17
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 8
nc 3
nop 1
dl 0
loc 17
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Sludio\HelperBundle\DependencyInjection\Compiler;
4
5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Reference;
8
9
class LoaderPass implements CompilerPassInterface
10
{
11
    const NAME = 'sludio_helper.guzzle';
12
13
    public function process(ContainerBuilder $container)
14
    {
15
        $ids = $container->findTaggedServiceIds(self::NAME.'.description_loader');
16
17
        if (!count($ids)) {
18
            return;
19
        }
20
21
        $resolverDefinition = $container->findDefinition(self::NAME.'.description_loader.resolver');
22
23
        $loaders = [];
24
25
        foreach ($ids as $id => $options) {
26
            $loaders[] = new Reference($id);
27
        }
28
29
        $resolverDefinition->setArguments([$loaders]);
30
    }
31
}