| Total Complexity | 13 |
| Total Lines | 49 |
| Duplicated Lines | 0 % |
| Coverage | 90% |
| Changes | 0 | ||
| 1 | <?php |
||
| 6 | class Validator |
||
| 7 | { |
||
| 8 | /** |
||
| 9 | * @param $options |
||
| 10 | * @throws InvalidArgumentException |
||
| 11 | */ |
||
| 12 | 5 | public function validateArguments($options) |
|
| 13 | { |
||
| 14 | 5 | $required = []; |
|
| 15 | 5 | foreach($options as $option) { |
|
| 16 | 5 | if(isset($option['required']) && $option['required'] && !isset($parsed[$option['name']])) { |
|
|
|
|||
| 17 | 5 | $required[] = $option['name']; |
|
| 18 | } |
||
| 19 | } |
||
| 20 | |||
| 21 | 5 | if(!empty(($required))) { |
|
| 22 | throw new InvalidArgumentException( |
||
| 23 | sprintf("The following options are required: %s. Pass the --help option for more information about possible options.", implode(", $required")) |
||
| 24 | ); |
||
| 25 | } |
||
| 26 | 5 | } |
|
| 27 | |||
| 28 | /** |
||
| 29 | * @throws InvalidArgumentDescriptionException |
||
| 30 | * @throws UnknownCommandException |
||
| 31 | */ |
||
| 32 | 14 | public function validateOption($option, $commands) |
|
| 33 | { |
||
| 34 | 14 | if (!isset($option['name'])) { |
|
| 35 | 1 | throw new InvalidArgumentDescriptionException("Argument must have a name"); |
|
| 36 | } |
||
| 37 | 13 | if (isset($option['command']) && !isset($commands[$option['command']])) { |
|
| 38 | 1 | throw new UnknownCommandException("The command {$option['command']} is unknown"); |
|
| 39 | } |
||
| 40 | 13 | } |
|
| 41 | |||
| 42 | /** |
||
| 43 | * @param $command |
||
| 44 | * @param $commands |
||
| 45 | * @throws CommandExistsException |
||
| 46 | * @throws InvalidArgumentDescriptionException |
||
| 47 | */ |
||
| 48 | 5 | public function validateCommand($command, $commands) |
|
| 55 | } |
||
| 56 | } |
||
| 57 | } |