RuleValidator   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 8
c 1
b 0
f 0
dl 0
loc 18
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 13 5
1
<?php
2
3
namespace PhpcsDiff\Validator;
4
5
use PhpcsDiff\Filter\Rule\RuleInterface;
6
use PhpcsDiff\Validator\Exception\InvalidArgumentException;
7
use PhpcsDiff\Validator\Exception\ValidatorException;
8
9
class RuleValidator extends AbstractValidator implements ValidatorInterface
10
{
11
    /**
12
     * @throws ValidatorException
13
     */
14
    public function validate(): void
15
    {
16
        if (empty($this->data)) {
17
            throw new InvalidArgumentException('The data provided is empty.');
18
        }
19
20
        if (!is_array($this->data)) {
21
            throw new InvalidArgumentException('The data provided is not an array.');
22
        }
23
24
        foreach (array_values($this->data) as $i => $rule) {
25
            if (!$rule instanceof RuleInterface) {
26
                throw new InvalidArgumentException('Rule ' . ++$i . ' is not a valid rule class');
27
            }
28
        }
29
    }
30
}
31