VideoGamesRecordsIgdbExtension   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 21
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 14 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace VideoGamesRecords\IgdbBundle\DependencyInjection;
6
7
use Exception;
8
use Symfony\Component\DependencyInjection\ContainerBuilder;
9
use Symfony\Component\Config\FileLocator;
10
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
11
use Symfony\Component\DependencyInjection\Loader;
12
13
class VideoGamesRecordsIgdbExtension extends Extension
14
{
15
    /**
16
     * @param array $configs
17
     * @param ContainerBuilder $container
18
     * @throws Exception
19
     */
20
    public function load(array $configs, ContainerBuilder $container): void
21
    {
22
        $configuration = new Configuration();
23
        $config = $this->processConfiguration($configuration, $configs);
24
25
        $container->setParameter('video_games_records_igdb.client_id', $config['client_id']);
26
        $container->setParameter('video_games_records_igdb.client_secret', $config['client_secret']);
27
28
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../../config'));
29
        $loader->load('services.yml');
30
31
        // Load admin configuration only if Sonata Admin Bundle is installed
32
        if (class_exists('Sonata\AdminBundle\SonataAdminBundle')) {
33
            $loader->load('admin.yml');
34
        }
35
    }
36
}
37