Completed
Pull Request — master (#29)
by Paulo Rodrigues
05:36
created

RjFrontendExtension::load()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 11
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 19
ccs 11
cts 11
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 13
nc 2
nop 2
crap 2
1
<?php
2
3
namespace Rj\FrontendBundle\DependencyInjection;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use Symfony\Component\Config\FileLocator;
7
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
8
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
9
10
class RjFrontendExtension extends Extension
11
{
12
    /**
13
     * {@inheritdoc}
14
     */
15
    public function load(array $configs, ContainerBuilder $container)
16
    {
17
        $configuration = $this->getConfiguration([], $container);
18
        $config = $this->processConfiguration($configuration, $configs);
19 41
20
        $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config/'));
21 41
        $loader->load('console.yml');
22 41
        $loader->load('version_strategy.yml');
23
        $loader->load('manifest.yml');
24 41
25 41
        if ($config['livereload']['enabled']) {
26 41
            $loader->load('livereload.yml');
27 41
            $container->getDefinition($this->namespaceService('livereload.listener'))
28
                ->addArgument($config['livereload']['url']);
29 41
        }
30 37
31 37
        $assetExtensionLoader = new AssetExtensionLoader($this->getAlias(), $container);
32 37
        $assetExtensionLoader->load($config, $loader);
33
    }
34
35 41
    /**
36 20
     * @param array            $config
37 41
     * @param ContainerBuilder $container
38
     *
39
     * @return Configuration
40 41
     */
41 39
    public function getConfiguration(array $config, ContainerBuilder $container)
42
    {
43 39
        return new Configuration($container->getParameter('kernel.root_dir'));
44 39
    }
45 39
46
    /**
47
     * @param string $id
48 39
     *
49 39
     * @return string
50
     */
51 39
    private function namespaceService($id)
52 39
    {
53 39
        return $this->getAlias().'.'.$id;
54
    }
55
}
56