Completed
Pull Request — master (#2751)
by Jeroen
06:09
created

VersionCheckerCacheBcPass::process()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 4.125

Importance

Changes 0
Metric Value
dl 0
loc 13
ccs 4
cts 8
cp 0.5
rs 9.8333
c 0
b 0
f 0
cc 3
nc 2
nop 1
crap 4.125
1
<?php
2
3
namespace Kunstmaan\AdminBundle\DependencyInjection\Compiler;
4
5
use Doctrine\Common\Cache\FilesystemCache;
6
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
7
use Symfony\Component\DependencyInjection\ContainerBuilder;
8
9
/**
10
 * @internal
11
 */
12
final class VersionCheckerCacheBcPass implements CompilerPassInterface
13
{
14 3
    public function process(ContainerBuilder $container)
15
    {
16
        // NEXT_MAJOR: remove compiler pass when doctrine/cache dependency is removed.
17 3
        $cacheDefinition = $container->findDefinition('kunstmaan_admin.cache');
18 3
        if ($cacheDefinition->getClass() !== FilesystemCache::class || $cacheDefinition->getArgument(0) !== '%kernel.cache_dir%/fcache') {
19
            // The "kunstmaan_admin.cache service" is changed compared to the default definition, injected this service instead to keep BC.
20
            $versionChecker = $container->getDefinition('kunstmaan_admin.versionchecker');
21
            $versionChecker->setArgument(1, $cacheDefinition);
22
23
            $versionDataCollector = $container->getDefinition('kunstmaan_admin.datacollector.bundleversion');
24
            $versionDataCollector->setArgument(1, $cacheDefinition);
25
        }
26 3
    }
27
}
28