Completed
Push — testDev1-rebased ( b23925 )
by Dominik
02:35
created

AzineMailgunWebhooksExtension::load()   A

Complexity

Conditions 4
Paths 8

Size

Total Lines 20
Code Lines 11

Duplication

Lines 6
Ratio 30 %

Code Coverage

Tests 3
CRAP Score 10.75

Importance

Changes 0
Metric Value
dl 6
loc 20
ccs 3
cts 12
cp 0.25
rs 9.2
c 0
b 0
f 0
cc 4
eloc 11
nc 8
nop 2
crap 10.75
1
<?php
2
3
namespace Azine\MailgunWebhooksBundle\DependencyInjection;
4
5
use Symfony\Component\Config\FileLocator;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Loader;
8
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
9
10
/**
11
 * This is the class that loads and manages your bundle configuration.
12
 *
13
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
14
 */
15
class AzineMailgunWebhooksExtension extends Extension
16
{
17
    const PREFIX = 'azine_mailgun_webhooks';
18
    const API_KEY = 'api_key';
19
    const PUBLIC_API_KEY = 'public_api_key';
20
    const EMAIL_DOMAIN = 'email_domain';
21
22
    /**
23
     * {@inheritdoc}
24
     */
25 3
    public function load(array $configs, ContainerBuilder $container)
26
    {
27 3
        $configuration = new Configuration();
28 3
        $config = $this->processConfiguration($configuration, $configs);
29
30 View Code Duplication
        if (array_key_exists(self::API_KEY, $config)) {
31
            $container->setParameter(self::PREFIX.'_'.self::API_KEY, $config[self::API_KEY]);
32
        }
33
34 View Code Duplication
        if (array_key_exists(self::PUBLIC_API_KEY, $config)) {
35
            $container->setParameter(self::PREFIX.'_'.self::PUBLIC_API_KEY, $config[self::PUBLIC_API_KEY]);
36
        }
37
38 View Code Duplication
        if (array_key_exists(self::EMAIL_DOMAIN, $config)) {
39
            $container->setParameter(self::PREFIX.'_'.self::EMAIL_DOMAIN, $config[self::EMAIL_DOMAIN]);
40
        }
41
42
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
43
        $loader->load('services.yml');
44
    }
45
}
46