Completed
Push — master ( 5f432b...5d5b15 )
by Jens
15:50 queued 05:48
created

TransitionRenderer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 30
ccs 0
cts 16
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A render() 0 21 3
1
<?php
2
/**
3
 * @author @jayS-de <[email protected]>
4
 */
5
6
namespace Commercetools\Core\Helper\State\Renderer;
7
8
use Commercetools\Core\Model\State\State;
9
10
class TransitionRenderer
11
{
12
    const COMMAND_COLOR = '#555555';
13
14
    /**
15
     * @param State $state
16
     * @return string
17
     */
18
    public function render(State $state)
19
    {
20
        $graph = '';
21
        $color = static::COMMAND_COLOR;
22
23
        foreach ($state->getTransitions() as $transition) {
24
            /**
25
             * @var State $targetState
26
             */
27
            $targetState = $transition->getObj();
28
            if ($targetState->getKey() === $state->getKey()) {
29
                $graph .= '  edge[dir="back",style="solid",color="' . $color . '"] state_'
30
                    . $state->getKey() . ' -> state_' . $state->getKey()  . ';' . PHP_EOL;
31
            } else {
32
                $graph .= '  edge[dir="forward",style="solid",color="' . $color . '"] state_'
33
                    . $state->getKey() . ' -> state_' . $targetState->getKey() . ' ;' . PHP_EOL;
34
            }
35
        }
36
37
        return $graph;
38
    }
39
}
40