RuleValidator::validate()   A
last analyzed

Complexity

Conditions 5
Paths 5

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 13
rs 9.6111
cc 5
nc 5
nop 0
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