Completed
Push — master ( d40c06...94bf64 )
by
unknown
33:17 queued 07:22
created

ProviderPass::process()   B

Complexity

Conditions 4
Paths 5

Size

Total Lines 36
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 14.7187

Importance

Changes 0
Metric Value
dl 0
loc 36
ccs 3
cts 24
cp 0.125
rs 8.5806
c 0
b 0
f 0
cc 4
eloc 23
nc 5
nop 1
crap 14.7187
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 1
    public function process(ContainerBuilder $container)
15
    {
16 1
        if (!$container->hasParameter('mediamonks.sonata_media.config')) {
17 1
            return;
18
        }
19
20
        $config = $container->getParameter('mediamonks.sonata_media.config');
21
22
        if (empty($config['image_constraints'])) {
23
            $config['image_constraints'] = [];
24
        }
25
26
        $taggedServices = $container->findTaggedServiceIds('sonata_media.provider');
27
        foreach ($taggedServices as $id => $tags) {
28
            $container->getDefinition($id)->addMethodCall(
29
                'setFilesystem',
30
                [new Reference('mediamonks.sonata_media.filesystem.private')]
31
            );
32
            $container->getDefinition($id)->addMethodCall(
33
                'setImageConstraintOptions',
34
                [$config['image_constraints']]
35
            );
36
            $container->getDefinition($id)->addMethodCall(
37
                'setTranslator',
38
                [new Reference('translator')]
39
            );
40
            $container->getDefinition($id)->addMethodCall(
41
                'setHttpClient',
42
                [new Reference('mediamonks.sonata_media.http_client')]
43
            );
44
            $container->getDefinition($id)->addMethodCall(
45
                'setFileLocator',
46
                [new Reference('file_locator')]
47
            );
48
        }
49
    }
50
}
51