Completed
Push — master ( 0e5803...f3fa63 )
by
unknown
05:14
created

ProviderPass::process()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 24
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
dl 0
loc 24
ccs 0
cts 22
cp 0
rs 8.9713
c 0
b 0
f 0
cc 3
eloc 15
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->getExtensionConfig('mediamonks_sonata_media')[0];
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
        }
37
    }
38
}
39