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 |