TwigExtensionPass::process()   B
last analyzed

Complexity

Conditions 5
Paths 2

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 12
CRAP Score 5

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 15
ccs 12
cts 12
cp 1
rs 8.8571
cc 5
eloc 10
nc 2
nop 1
crap 5
1
<?php
2
3
namespace JMS\SerializerBundle\DependencyInjection\Compiler;
4
5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
8
class TwigExtensionPass implements CompilerPassInterface
9
{
10 28
    public function process(ContainerBuilder $container)
11
    {
12 28
        if (!$container->hasDefinition('twig.runtime_loader')
13 28
            || !class_exists($container->getParameter('jms_serializer.twig_runtime_extension.class'))
14 2
            || !interface_exists('Twig_RuntimeLoaderInterface')
15 1
            || !class_exists($container->getParameter('jms_serializer.twig_runtime_extension_helper.class'))
16 28
        ) {
17 27
            $container->removeDefinition('jms_serializer.twig_extension.serializer_runtime_helper');
18 27
            return;
19
        }
20
21 1
        $def = $container->findDefinition('jms_serializer.twig_extension.serializer');
22 1
        $def->setClass('%jms_serializer.twig_runtime_extension.class%');
23 1
        $def->setArguments(array());
24 1
    }
25
}
26