Passed
Pull Request — master (#1)
by Vladimir
02:24
created

BicycleTesseractBridgeExtension   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 14
c 1
b 0
f 0
dl 0
loc 31
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 26 3
1
<?php
2
3
namespace Bicycle\TesseractBridgeBundle\DependencyInjection;
4
5
use Bicycle\Tesseract\Bridge;
6
use Symfony\Component\Config\FileLocator;
7
use Symfony\Component\DependencyInjection;
8
9
class BicycleTesseractBridgeExtension extends DependencyInjection\Extension\Extension
10
{
11
    /**
12
     * {@inheritDoc}
13
     */
14
    public function load(array $configs, DependencyInjection\ContainerBuilder $container): void
15
    {
16
        $configuration = new Configuration();
17
        $config = $this->processConfiguration($configuration, $configs);
18
19
        $loader = new DependencyInjection\Loader\YamlFileLoader(
20
            $container,
21
            new FileLocator(__DIR__ . '/../Resources/config')
22
        );
23
        $loader->load('tesseract_bridge.yaml');
24
25
        $arguments = [];
26
        /** @psalm-suppress MixedArrayAccess */
27
        if ($config['integrations']['cli']['enabled']) {
28
            /** @psalm-suppress MixedArrayAccess */
29
            $arguments['binary_path'] = (string) $config['integrations']['cli']['path'];
30
        }
31
32
        /** @psalm-suppress MixedArrayAccess */
33
        if ($config['integrations']['ffi']['enabled']) {
34
            /** @psalm-suppress MixedArrayAccess */
35
            $arguments['library_path'] = (string) $config['integrations']['ffi']['path'];
36
        }
37
38
        $definition = $container->getDefinition(Bridge\Configuration::class);
39
        $definition->replaceArgument(0, $arguments);
40
    }
41
}
42