Total Complexity | 7 |
Total Lines | 52 |
Duplicated Lines | 0 % |
Coverage | 94.12% |
Changes | 0 |
1 | <?php |
||
8 | class EnumerationRule extends AbstractRule |
||
9 | { |
||
10 | /** |
||
11 | * @var Struct |
||
12 | */ |
||
13 | protected $model; |
||
14 | |||
15 | /** |
||
16 | * @return string |
||
17 | */ |
||
18 | 114 | public function name() |
|
21 | } |
||
22 | |||
23 | /** |
||
24 | * @param string $parameterName |
||
25 | * @param mixed $value |
||
26 | * @param bool $itemType |
||
27 | * @return string |
||
28 | */ |
||
29 | 114 | public function testConditions($parameterName, $value, $itemType = false) |
|
30 | { |
||
31 | 114 | $test = ''; |
|
32 | 114 | if ($this->getRestrictionModel()) { |
|
33 | 114 | $test = sprintf('!%s::%s($%s)', $this->getRestrictionModel()->getPackagedName(true), StructEnum::METHOD_VALUE_IS_VALID, $parameterName); |
|
34 | 57 | } |
|
35 | 114 | return $test; |
|
36 | } |
||
37 | |||
38 | /** |
||
39 | * @param string $parameterName |
||
40 | * @param mixed $value |
||
41 | * @param bool $itemType |
||
42 | * @return string |
||
43 | */ |
||
44 | 114 | public function exceptionMessageOnTestFailure($parameterName, $value, $itemType = false) |
|
45 | { |
||
46 | 114 | if ($this->getRestrictionModel()) { |
|
47 | 114 | return sprintf('sprintf(\'Invalid value(s) %%s, please use one of: %%s from enumeration class %2$s\', is_array($%1$s) ? implode(\', \', $%1$s) : var_export($%1$s, true), implode(\', \', %2$s::%3$s()))', $parameterName, $this->getRestrictionModel()->getPackagedName(true), StructEnum::METHOD_GET_VALID_VALUES); |
|
48 | } |
||
49 | } |
||
50 | |||
51 | /** |
||
52 | * @return Struct|null |
||
53 | */ |
||
54 | 114 | protected function getRestrictionModel() |
|
60 | } |
||
61 | } |
||
62 |