DoSResourceExtension::load()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 5
Bugs 1 Features 1
Metric Value
c 5
b 1
f 1
dl 0
loc 13
rs 9.4285
cc 2
eloc 8
nc 2
nop 2
1
<?php
2
3
namespace DoS\ResourceBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\ConfigurationInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
8
9
class DoSResourceExtension extends AbstractResourceExtension implements PrependExtensionInterface
10
{
11
    /**
12
     * {@inheritdoc}
13
     */
14
    protected function getBundleConfiguration()
15
    {
16
        return new Configuration();
17
    }
18
19
    /**
20
     * {@inheritdoc}
21
     */
22
    public function load(array $configs, ContainerBuilder $container)
23
    {
24
        $config = parent::load($configs, $container);
25
26
        if ($config['form_factory']['enabled']) {
27
            $container->setParameter('dos.form.factory.class', $config['form_factory']['class']);
28
            $container->setParameter('dos.form.factory.override_pattern', $config['form_factory']['pattern']);
29
            $container->setParameter('dos.form.factory.override_replacement', $config['form_factory']['replacement']);
30
        }
31
32
        $container->setParameter('dos.slugify.reg_exp', $config['slugify']['reg_exp']);
33
        $container->setParameter('dos.slugify.lowercase', $config['slugify']['lowercase']);
34
    }
35
36
    /**
37
     * @inheritdoc
38
     */
39
    public function prepend(ContainerBuilder $container)
40
    {
41
        $configs = $container->getExtensionConfig($this->getAlias());
42
        // use the Configuration class to generate a config array with
43
        $config = $this->processConfiguration(new Configuration(), $configs);
44
        // remove dos_resource config before append to sylius_resource.
45
        unset($config['form_factory']);
46
        unset($config['slugify']);
47
48
        $container->prependExtensionConfig('sylius_resource', $config);
49
50
        $container->setParameter('dos.locale_traditional', true);
51
        $container->setParameter('dos.image_holder', null);
52
    }
53
}
54