Test Failed
Push — master ( 5689e1...40fcfc )
by Michał
02:35
created

MonologHandlerOverwritePass   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 18
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A processConfiguration() 0 5 1
A process() 0 9 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Dziki\MonologSentryBundle\DependencyInjection\Compiler;
6
7
use Dziki\MonologSentryBundle\DependencyInjection\Configuration;
8
use Dziki\MonologSentryBundle\Handler\Raven;
9
use Symfony\Component\Config\Definition\ConfigurationInterface;
10
use Symfony\Component\Config\Definition\Processor;
11
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
12
use Symfony\Component\DependencyInjection\ContainerBuilder;
13
14
class MonologHandlerOverwritePass implements CompilerPassInterface
15
{
16
    public function process(ContainerBuilder $container): void
17
    {
18
        $config = $container->getExtensionConfig('monolog_sentry');
19
20
        $configuration = new Configuration();
21
        $config = $this->processConfiguration($configuration, $config);
22
23
        $definition = $container->findDefinition($config['monolog_sentry_handler']);
24
        $definition->setClass(Raven::class);
25
    }
26
27
    private function processConfiguration(ConfigurationInterface $configuration, array $configs)
28
    {
29
        $processor = new Processor();
30
31
        return $processor->processConfiguration($configuration, $configs);
32
    }
33
}
34