Completed
Push — master ( 162ac8...74252e )
by
unknown
19:44
created

ProviderPass::process()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 28
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

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