Completed
Push — 0.3 ( d1608f...20f47d )
by jean
10s
created

ConfigurationProcess::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 6
ccs 5
cts 5
cp 1
crap 1
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Darkilliant\ProcessBundle\Configuration;
4
5
class ConfigurationProcess
6
{
7
    /** @var ConfigurationStep[] */
8
    private $steps;
9
10
    private $logger;
11
12
    /** @var array */
13
    private $deprecated;
14
15 10
    private function __construct(string $logger, array $steps, array $deprecated)
16
    {
17 10
        $this->logger = $logger;
18 10
        $this->steps = $steps;
19 10
        $this->deprecated = $deprecated;
20 10
    }
21
22 10
    public static function create(array $config): ConfigurationProcess
23
    {
24 10
        return new self(
25 10
            $config['logger'] ?? 'process_logger_default',
26 10
            array_map([ConfigurationStep::class, 'create'], $config['steps']),
27 10
            $config['deprecated'] ?? []
28
        );
29
    }
30
31 7
    public function getSteps(): array
32
    {
33 7
        return $this->steps;
34
    }
35
36 7
    public function getLogger(): string
37
    {
38 7
        return $this->logger;
39
    }
40
41 7
    public function getDeprecated(): array
42
    {
43 7
        return $this->deprecated;
44
    }
45
}
46