| Conditions | 2 |
| Paths | 1 |
| Total Lines | 15 |
| Code Lines | 9 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 0 |
| CRAP Score | 6 |
| Changes | 0 | ||
| 1 | <?php namespace Arcanedev\Support\Bases; |
||
| 23 | public static function policies() |
||
| 24 | { |
||
| 25 | $values = array_values( |
||
| 26 | (new \ReflectionClass($instance = new static))->getConstants() |
||
| 27 | ); |
||
| 28 | |||
| 29 | return array_map(function ($constant) use ($instance) { |
||
| 30 | $method = Str::camel(last(explode('.', $constant)).'Policy'); |
||
| 31 | |||
| 32 | if ( ! method_exists($instance, $method)) |
||
| 33 | throw new MissingPolicyException("Missing policy [$method] method in ".get_class($instance)."."); |
||
| 34 | |||
| 35 | return $method; |
||
| 36 | }, array_combine($values, $values)); |
||
| 37 | } |
||
| 38 | } |
||
| 39 |