| 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 |