Conditions | 9 |
Paths | 2 |
Total Lines | 19 |
Code Lines | 11 |
Lines | 0 |
Ratio | 0 % |
Tests | 11 |
CRAP Score | 9.0468 |
Changes | 0 |
1 | <?php |
||
15 | 1 | public function __invoke(ContainerInterface $container, $requestedName, array $options = null): SyncOptions |
|
16 | { |
||
17 | 1 | $reader = new Json(); |
|
18 | 1 | $config = $reader->fromFile(__DIR__ . '/../../../../config.json'); |
|
19 | |||
20 | 1 | if ((!isset($config['jiraUsername']) || empty($config['jiraUsername'])) || |
|
21 | 1 | (!isset($config['jiraPassword']) || empty($config['jiraPassword'])) || |
|
22 | 1 | (!isset($config['togglApiKey']) || empty($config['togglApiKey'])) || |
|
23 | 1 | (!isset($config['jiraUrl']) || empty($config['jiraUrl'])) |
|
24 | ) { |
||
25 | throw new \RuntimeException('Invalid config.json, please fill out everything except lastSync'); |
||
26 | } |
||
27 | |||
28 | 1 | $config['lastSync'] = new \DateTimeImmutable( |
|
29 | 1 | $config['lastSync']['date'], |
|
30 | 1 | new \DateTimeZone($config['lastSync']['timezone']) |
|
31 | ); |
||
32 | |||
33 | 1 | return new SyncOptions($config); |
|
34 | } |
||
36 |