Passed
Push — master ( 790514...4d627a )
by Phillip
01:46
created

PluginConfigSetDispatcher   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 27
ccs 0
cts 15
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A dispatch() 0 11 1
A canDispatchTaskDefinition() 0 3 1
1
<?php
2
3
namespace Deployee\Plugins\ShopwareTasks\Dispatcher;
4
5
use Deployee\Plugins\Deploy\Definitions\Tasks\TaskDefinitionInterface;
6
use Deployee\Plugins\Deploy\Dispatcher\DispatchResultInterface;
7
use Deployee\Plugins\ShopwareTasks\Definitions\PluginConfigSetDefinition;
8
use Deployee\Plugins\ShopwareTasks\Definitions\ShopwareCommandDefinition;
9
10
class PluginConfigSetDispatcher extends AbstractShopwareDispatcher
11
{
12
    /**
13
     * @param TaskDefinitionInterface $taskDefinition
14
     * @return bool
15
     */
16
    public function canDispatchTaskDefinition(TaskDefinitionInterface $taskDefinition): bool
17
    {
18
        return $taskDefinition instanceof PluginConfigSetDefinition;
19
    }
20
21
    /**
22
     * @param TaskDefinitionInterface $taskDefinition
23
     * @return DispatchResultInterface
24
     * @throws \Deployee\Plugins\Deploy\Exception\DispatcherException
25
     */
26
    public function dispatch(TaskDefinitionInterface $taskDefinition): DispatchResultInterface
27
    {
28
        $params = $taskDefinition->define();
29
        return $this->delegate(new ShopwareCommandDefinition(
30
            'sw:plugin:config:set',
31
            sprintf(
32
                '-n %s %s %s %s',
33
                escapeshellarg($params->get('plugin')),
34
                escapeshellarg($params->get('key')),
35
                escapeshellarg($params->get('value')),
36
                $this->getEnvironmentConsoleParameter($taskDefinition)
37
            )
38
        ));
39
    }
40
}