IfAction   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 19
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A execute() 0 6 2
A getAlias() 0 4 1
A getArguments() 0 4 1
1
<?php
2
declare(strict_types=1);
3
namespace Thunder\Logeek\Action;
4
5
use Thunder\Logeek\ActionInterface;
6
use Thunder\Logeek\Board;
7
8
final class IfAction implements ActionInterface
9
{
10
    public function execute(Board $board, string $alias, array $operation)
11
    {
12
        $board->getVariable($operation['left']) === $operation['right']
13
            ? $board->runActorProgram($alias, $operation['true'])
14
            : $board->runActorProgram($alias, $operation['false']);
15
    }
16
17
    public function getAlias(): string
18
    {
19
        return 'if';
20
    }
21
22
    public function getArguments(): array
23
    {
24
        return ['left', 'operand', 'right', 'true', 'false'];
25
    }
26
}
27