| Total Complexity | 4 |
| Total Lines | 32 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 0 | ||
| 1 | <?php |
||
| 9 | class ArrayValidator |
||
| 10 | { |
||
| 11 | 7 | public static function check(array $fields, array $rules): void |
|
| 12 | { |
||
| 13 | array_walk($fields, function ($value, $field) use ($rules) : void { |
||
| 14 | 7 | Assertion::keyExists($rules, $field); |
|
| 15 | 7 | array_map( |
|
| 16 | function ($validationRule) use ($value) : void { |
||
| 17 | 7 | $validation = explode(':', $validationRule); |
|
| 18 | 7 | $method = $validation[0]; |
|
| 19 | 7 | $params = array_key_exists(1, $validation) ? $validation[1] : null; |
|
| 20 | 7 | $ruleMethod = self::getRuleParams($method, $params); |
|
| 21 | |||
| 22 | 7 | list($param1, $param2) = $ruleMethod[RuleParser::getRuleMethod($method)]($params); |
|
| 23 | |||
| 24 | 7 | call_user_func_array([Assertion::class, $method], [$value, $param1, $param2]); |
|
| 25 | 7 | }, |
|
| 26 | 7 | explode('|', $rules[$field]) |
|
| 27 | ); |
||
| 28 | 7 | }); |
|
| 29 | 2 | } |
|
| 30 | |||
| 31 | 7 | private static function getRuleParams(string $method, ?string $params): array { |
|
| 41 | 7 | }, |
|
| 42 | ]; |
||
| 45 |