Passed
Push — master ( d9e2c6...1fd056 )
by Mike
08:07 queued 01:53
created

addDevelopmentCommands()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 0
cts 7
cp 0
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 6
1
<?php
2
3
4
namespace Nexus\Console;
5
6
7
8
use Nexus\DynamicModules\Communication\Provider\CommandProvider as DynamicModulesCommandProvider;
9
use Xervice\Console\ConsoleDependencyProvider as XerviceConsoleDependencyProvider;
10
use Xervice\DataProvider\Console\GenerateCommand;
11
use Xervice\Development\Command\GenerateAutoCompleteCommand;
12
13
class ConsoleDependencyProvider extends XerviceConsoleDependencyProvider
14
{
15
    /**
16
     * @return array
17
     */
18
    protected function getCommandList() : array
19
    {
20
        return $this->getDockerClientCommands();
21
    }
22
23
    private function getDockerClientCommands()
24
    {
25
        $commands = [
26
            new GenerateCommand()
27
        ];
28
29
        $commands = $this->addDevelopmentCommands($commands);
30
31
        foreach ($this->getCommandProvider() as $provider) {
32
            $commands = $provider->provideCommands($commands);
33
        }
34
35
        return $commands;
36
    }
37
38
    /**
39
     * @return \Nexus\Console\Provider\CommandProviderInterface[]
40
     */
41
    private function getCommandProvider()
42
    {
43
        return [
44
            new DynamicModulesCommandProvider()
45
        ];
46
    }
47
48
    /**
49
     * @param $commands
50
     *
51
     * @return array
52
     * @throws \Symfony\Component\Console\Exception\LogicException
53
     */
54
    private function addDevelopmentCommands($commands): array
55
    {
56
        if (class_exists(GenerateAutoCompleteCommand::class)) {
57
            $commands[] = new GenerateAutoCompleteCommand();
58
        }
59
        return $commands;
60
}
61
}