Completed
Branch master (9c37c7)
by Jens
07:29
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%
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 30
ccs 0
cts 16
cp 0
rs 10

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