States   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
lcom 1
cbo 1
dl 0
loc 24
ccs 7
cts 7
cp 1
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 2
A add() 0 4 1
1
<?php
2
3
declare(strict_types = 1);
4
5
/*
6
* This file is part of the statemachine package
7
*
8
* (c) Michal Wachowski <[email protected]>
9
*
10
* For the full copyright and license information, please view the LICENSE
11
* file that was distributed with this source code.
12
*/
13
14
namespace StateMachine\Collection;
15
16
17
use StateMachine\State;
18
19
final class States extends Collection
20
{
21
    /**
22
     * Constructor
23
     *
24
     * @param State[] $collection collection elements
25
     */
26 15
    public function __construct(array $collection = [])
27
    {
28 15
        foreach ($collection as $element) {
29 13
            $this->add($element);
30
        }
31 15
    }
32
33
    /**
34
     * Add state to collection
35
     *
36
     * @param State $state
37
     */
38 14
    public function add(State $state)
39
    {
40 14
        $this->collection[(string) $state] = $state;
41 14
    }
42
}
43