Conditions | 4 |
Paths | 4 |
Total Lines | 23 |
Code Lines | 12 |
Lines | 0 |
Ratio | 0 % |
Tests | 12 |
CRAP Score | 4 |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
22 | 25 | public function create($value): Page |
|
23 | { |
||
24 | 25 | $id = $value['id'] ?? null; |
|
25 | |||
26 | 25 | if (! $id) { |
|
27 | 1 | throw InvalidConfiguration::pageIdMissing(); |
|
28 | } |
||
29 | |||
30 | 24 | $template = $value['template'] ?? null; |
|
31 | 24 | $variables = $value['variables'] ?? []; |
|
32 | |||
33 | 24 | if (! $template) { |
|
34 | 1 | throw InvalidConfiguration::pageTemplateMissing($id); |
|
35 | } |
||
36 | |||
37 | 23 | foreach ($variables as $key => $variable) { |
|
38 | 20 | $variables[$key] = $this->variableParser->parse($variable); |
|
39 | } |
||
40 | |||
41 | 23 | $page = Page::make($id, $template, $variables); |
|
42 | |||
43 | 23 | return $page; |
|
44 | } |
||
45 | } |
||
46 |