Conditions | 6 |
Paths | 3 |
Total Lines | 16 |
Code Lines | 9 |
Lines | 0 |
Ratio | 0 % |
Tests | 5 |
CRAP Score | 9.1595 |
Changes | 0 |
1 | <?php |
||
53 | 3 | public function addRule($rule, array $options = []): Rule |
|
54 | { |
||
55 | 3 | if ($rule instanceof Rule) { |
|
56 | 1 | return $this->rules[] = $rule; |
|
57 | } |
||
58 | |||
59 | 2 | if (!is_string($rule) || !class_exists($rule) || !is_subclass_of($rule, Rule::class)) { |
|
60 | throw new InvalidArgumentException(sprintf( |
||
61 | 'First argument must be an instance of %s or fully qualified name of this class, %s given.', |
||
62 | Rule::class, |
||
63 | is_scalar($rule) ? gettype($rule) : get_class($rule) |
||
64 | )); |
||
65 | } |
||
66 | |||
67 | 2 | return $this->rules[] = new $rule($this->validator, $this, $options); |
|
68 | } |
||
69 | |||
102 |