| Conditions | 7 |
| Paths | 16 |
| Total Lines | 24 |
| Code Lines | 16 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 17 |
| CRAP Score | 7 |
| Changes | 0 | ||
| 1 | <?php |
||
| 23 | 2 | public function feed(array $data, ClassType $class, PhpNamespace $namespace): void |
|
| 24 | { |
||
| 25 | 2 | $invoke = []; |
|
| 26 | |||
| 27 | 2 | foreach ($data as $key => $config) { |
|
| 28 | 2 | foreach ($this->parts as $part) { |
|
| 29 | 2 | if ($part->matches($key)) { |
|
| 30 | 2 | $invoke[$key] = $part->getCalleeCode($key, $config, $namespace); |
|
| 31 | 2 | break 1; |
|
| 32 | } |
||
| 33 | } |
||
| 34 | } |
||
| 35 | |||
| 36 | 2 | $invokeBody = 'return ' . (new NsArrayPrinter($namespace))->printArray($invoke, 1, '') . ";\n"; |
|
| 37 | 2 | $class->addMethod('__invoke') |
|
| 38 | 2 | ->setVisibility(ClassType::VISIBILITY_PUBLIC) |
|
| 39 | 2 | ->setReturnType('array') |
|
| 40 | 2 | ->setBody($invokeBody); |
|
| 41 | |||
| 42 | 2 | foreach ($data as $key => $config) { |
|
| 43 | 2 | foreach ($this->parts as $part) { |
|
| 44 | 2 | if ($part->matches($key)) { |
|
| 45 | 2 | $part->feed($key, $config, $class, $namespace); |
|
| 46 | 2 | break 1; |
|
| 47 | } |
||
| 52 |