Total Complexity | 7 |
Total Lines | 35 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | <?php |
||
8 | class GroupCollection extends BaseCollection |
||
9 | { |
||
10 | /**@var Group[] $items * */ |
||
11 | protected $items; |
||
12 | |||
13 | /** |
||
14 | * @param \insolita\codestat\lib\collection\Group[] $items |
||
15 | */ |
||
16 | public function __construct(array $items = []) |
||
17 | { |
||
18 | $rules = []; |
||
19 | foreach ($items as $name => $rule) { |
||
20 | if ($rule instanceof Group) { |
||
21 | $rules[$rule->getName()] = $rule; |
||
22 | } else { |
||
23 | $rules[$name] = new Group($name, $rule); |
||
24 | } |
||
25 | } |
||
26 | parent::__construct($rules); |
||
27 | } |
||
28 | |||
29 | public function fill(\ReflectionClass $reflection) |
||
30 | { |
||
31 | foreach ($this->items as $name => $group) { |
||
32 | if ($group->validate($reflection)) { |
||
33 | $group->addFile($reflection->getFileName()); |
||
34 | break; |
||
35 | } |
||
36 | } |
||
37 | return $this; |
||
38 | } |
||
39 | |||
40 | public static function make(array $items) |
||
43 | } |
||
44 | } |
||
45 |