VideoGamesRecordsIgdbExtension::load()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 8
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 14
rs 10
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