| 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 |