TemplateResourcesPass::setAppDirectoryResources()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
cc 2
nc 2
nop 2
1
<?php
2
3
namespace Goetas\TwitalBundle\DependencyInjection\Compiler;
4
5
use Goetas\TwitalBundle\DependencyInjection\DirectoryResourceDefinition;
6
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
7
use Symfony\Component\DependencyInjection\ContainerBuilder;
8
9
class TemplateResourcesPass implements CompilerPassInterface
10
{
11
    public function process(ContainerBuilder $container)
12
    {
13
        if (!$container->hasDefinition('assetic.asset_manager')) {
14
            return;
15
        }
16
17
        foreach ($container->getParameter('twital.loader_regexs') as $regex) {
18
            $this->setAppDirectoryResources($container, $regex);
19
        }
20
    }
21
22
    protected function setAppDirectoryResources(ContainerBuilder $container, $regex)
23
    {
24
        $dirs = array(
25
            $container->getParameter('kernel.root_dir') . '/Resources/views',
26
        );
27
        if ($container->hasParameter('kernel.project_dir')) {
28
            $dirs[] = $container->getParameter('kernel.project_dir') . '/templates';
29
        }
30
        $container->setDefinition(
31
            'assetic.' . md5($regex) . '_twital_directory_resource.kernel',
32
            new DirectoryResourceDefinition('', 'twital', $regex, $dirs)
33
        );
34
    }
35
}
36