RegulatorFactory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 18
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A make() 0 15 2
1
<?php
2
declare(strict_types = 1);
3
4
namespace Innmind\HomeostasisBundle\Factory\Regulator;
5
6
use Innmind\Homeostasis\{
7
    StateHistory,
8
    Actuator,
9
    Actuator\StrategyDeterminator,
10
    Regulator\Regulator,
11
    Factor
12
};
13
use Innmind\TimeContinuum\TimeContinuumInterface;
14
use Innmind\Immutable\Set;
15
16
final class RegulatorFactory
17
{
18 4
    public static function make(
19
        array $factors,
20
        StateHistory $states,
21
        TimeContinuumInterface $clock,
22
        StrategyDeterminator $determinator,
23
        Actuator $actuator
24
    ): Regulator {
25 4
        $set = new Set(Factor::class);
26
27 4
        foreach ($factors as $factor) {
28 4
            $set = $set->add($factor);
29
        }
30
31 4
        return new Regulator($set, $states, $clock, $determinator, $actuator);
32
    }
33
}
34