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