FreshFirebaseCloudMessagingExtension   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 5
dl 0
loc 19
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 13 1
1
<?php
2
/*
3
 * This file is part of the FirebaseCloudMessagingBundle.
4
 *
5
 * (c) Artem Henvald <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
declare(strict_types=1);
12
13
namespace Fresh\FirebaseCloudMessagingBundle\DependencyInjection;
14
15
use Symfony\Component\Config\FileLocator;
16
use Symfony\Component\DependencyInjection\ContainerBuilder;
17
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
18
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
19
20
/**
21
 * This is the class that loads and manages FreshFirebaseCloudMessagingBundle configuration.
22
 *
23
 * @author Artem Henvald <[email protected]>
24
 */
25
class FreshFirebaseCloudMessagingExtension extends Extension
26
{
27
    /**
28
     * {@inheritdoc}
29
     */
30
    public function load(array $configs, ContainerBuilder $container): void
31
    {
32
        $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
33
        $loader->load('services.yml');
34
35
        $configuration = new Configuration();
36
        $config = $this->processConfiguration($configuration, $configs);
37
38
        $container->setParameter('firebase_cloud_messaging.sender_id', $config['sender_id']);
39
        $container->setParameter('firebase_cloud_messaging.server_key', $config['server_key']);
40
        $container->setParameter('firebase_cloud_messaging.endpoint', $config['endpoint']);
41
        $container->setParameter('firebase_cloud_messaging.guzzle_timeout', $config['guzzle_timeout']);
42
    }
43
}
44