Completed
Push — master ( 7934b9...076dcf )
by
unknown
07:37
created

ProviderPass   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 3
dl 0
loc 38
ccs 21
cts 21
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B process() 0 32 4
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\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 ProviderPass implements CompilerPassInterface
10
{
11
    /**
12
     * @param ContainerBuilder $container
13
     */
14 4
    public function process(ContainerBuilder $container)
15
    {
16 4
        if (!$container->hasParameter('mediamonks.sonata_media.config')) {
17 1
            return;
18
        }
19
20 3
        $config = $container->getParameter('mediamonks.sonata_media.config');
21
22 3
        if (empty($config['image_constraints'])) {
23 1
            $config['image_constraints'] = [];
24
        }
25
26 3
        $taggedServices = $container->findTaggedServiceIds('sonata_media.provider');
27 3
        foreach ($taggedServices as $id => $tags) {
28 3
            $container->getDefinition($id)->addMethodCall(
29 3
                'setFilesystem',
30 3
                [new Reference('mediamonks.sonata_media.filesystem.private')]
31
            );
32 3
            $container->getDefinition($id)->addMethodCall(
33 3
                'setImageConstraintOptions',
34 3
                [$config['image_constraints']]
35
            );
36 3
            $container->getDefinition($id)->addMethodCall(
37 3
                'setTranslator',
38 3
                [new Reference('translator')]
39
            );
40 3
            $container->getDefinition($id)->addMethodCall(
41 3
                'setHttpClient',
42 3
                [new Reference('mediamonks.sonata_media.http_client')]
43
            );
44
        }
45 3
    }
46
}
47