CommandBusConfig::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 5
c 1
b 0
f 1
nc 1
nop 5
dl 0
loc 12
ccs 6
cts 6
cp 1
crap 1
rs 10
1
<?php
2
3
4
namespace Antidot\Tactician\Container\Config;
5
6
class CommandBusConfig
7
{
8
    private array $middleware;
9
    private array $handlerMap;
10
    private string $extractor;
11
    private string $locator;
12
    private string $inflector;
13
14 3
    private function __construct(
15
        array $middleware,
16
        array $handlerMap,
17
        string $extractor,
18
        string $inflector,
19
        string $locator
20
    ) {
21 3
        $this->middleware = $middleware;
22 3
        $this->handlerMap = $handlerMap;
23 3
        $this->extractor = $extractor;
24 3
        $this->inflector = $inflector;
25 3
        $this->locator = $locator;
26 3
    }
27
28 3
    public static function createFromArrayConfig(array $config): self
29
    {
30
        /** @var array<string, string> $middleware */
31 3
        $middleware = $config['middleware'];
32
        /** @var array<string, string> $handlerMap */
33 3
        $handlerMap = $config['handler_map'];
34
        /** @var string $extractor */
35 3
        $extractor = $config['extractor'];
36
        /** @var string $inflector */
37 3
        $inflector = $config['inflector'];
38
        /** @var string $locator */
39 3
        $locator = $config['locator'];
40
41 3
        return new self(
42 3
            $middleware,
43
            $handlerMap,
44
            $extractor,
45
            $inflector,
46
            $locator
47
        );
48
    }
49
50 2
    public function getMiddleware(): array
51
    {
52 2
        return $this->middleware;
53
    }
54
55 1
    public function getHandlerMap(): array
56
    {
57 1
        return $this->handlerMap;
58
    }
59
60 2
    public function getExtractor(): string
61
    {
62 2
        return $this->extractor;
63
    }
64
65 2
    public function getLocator(): string
66
    {
67 2
        return $this->locator;
68
    }
69
70 2
    public function getInflector(): string
71
    {
72 2
        return $this->inflector;
73
    }
74
}
75