DoSResourceExtension   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 9
Bugs 1 Features 3
Metric Value
wmc 4
c 9
b 1
f 3
lcom 0
cbo 3
dl 0
loc 45
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getBundleConfiguration() 0 4 1
A load() 0 13 2
A prepend() 0 14 1
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