Total Complexity | 5 |
Total Lines | 28 |
Duplicated Lines | 0 % |
Coverage | 0% |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | <?php declare(strict_types=1); |
||
13 | abstract class Validator implements ValidatorInterface |
||
14 | { |
||
15 | private ValidatorDefinition $validatorDefinition; |
||
16 | |||
17 | public function __invoke(ValidatorDefinition $validatorDefinition) |
||
18 | { |
||
19 | $this->validatorDefinition = $validatorDefinition; |
||
20 | $path = $validatorDefinition->getPath(); |
||
21 | //@todo path/method mapping |
||
22 | $validationMethod = 'validate'.ucfirst(trim($path, ' _')); |
||
23 | $validationCallable = [$this, $validationMethod]; |
||
24 | $validationCallable = is_callable($validationCallable) ? $validationCallable : [$this, 'validate']; |
||
25 | return $validationCallable($validatorDefinition->getArgument()); |
||
26 | } |
||
27 | |||
28 | protected function getPath(): string |
||
31 | } |
||
32 | |||
33 | protected function getSettings(): array |
||
34 | { |
||
35 | return $this->validatorDefinition->getSettings(); |
||
36 | } |
||
37 | |||
38 | protected function getImports(): array |
||
41 | } |
||
42 | } |
||
43 |