SavchenkoOpenWeatherMapExtension   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
lcom 0
cbo 5
dl 0
loc 25
ccs 0
cts 14
cp 0
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A prepend() 0 5 1
A loadInternal() 0 10 1
1
<?php
2
3
namespace Savchenko\Bundle\OpenWeatherMapBundle\DependencyInjection;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
7
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
8
use Symfony\Component\HttpKernel\DependencyInjection\ConfigurableExtension;
9
use Symfony\Component\Config\FileLocator;
10
use Symfony\Component\Yaml\Yaml;
11
12
/**
13
 * {@inheritdoc}
14
 */
15
class SavchenkoOpenWeatherMapExtension extends ConfigurableExtension implements PrependExtensionInterface
16
{
17
    /**
18
     * {@inheritdoc}
19
     */
20
    public function prepend(ContainerBuilder $container)
21
    {
22
        $guzzleConfig = Yaml::parse(file_get_contents(__DIR__ . '/../Resources/config/guzzle.yml'));
23
        $container->prependExtensionConfig('guzzle', $guzzleConfig);
24
    }
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public function loadInternal(array $mergedConfig, ContainerBuilder $container)
30
    {
31
        $loader = new YamlFileLoader(
32
            $container,
33
            new FileLocator(__DIR__ . '/../Resources/config')
34
        );
35
        $loader->load('services.yml');
36
        
37
        $container->setParameter('savchenko.open_weather_map.api_key', $mergedConfig['api_key']);
38
    }
39
}
40