| Conditions | 2 | 
| Paths | 2 | 
| Total Lines | 21 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 13 | 
| CRAP Score | 2 | 
| Changes | 0 | ||
| 1 | <?php | ||
| 22 | 8 | public function __invoke( | |
| 23 | string $name, | ||
| 24 | string $contexts, | ||
| 25 | string $envFile = '', | ||
| 26 | string $appDir = '' | ||
| 27 |     ) : AbstractApp { | ||
| 28 | 8 | $appMeta = new Meta($name, $contexts, $appDir); | |
| 29 | 8 | $cacheNs = (string) filemtime($appMeta->appDir . '/src'); | |
| 30 | 8 | $injector = new AppInjector($appMeta->name, $contexts, $appMeta, $cacheNs, $envFile); | |
| 31 | 8 | $cache = $injector->getCachedInstance(Cache::class); | |
| 32 | 7 | $appId = $appMeta->name . $contexts . $cacheNs; | |
| 33 | 7 | $app = $cache->fetch($appId); | |
| 34 | 7 |         if ($app instanceof AbstractApp) { | |
| 35 | 1 | return $app; | |
| 36 | } | ||
| 37 | 7 | $injector->clear(); | |
| 38 | 7 | $app = $injector->getCachedInstance(AppInterface::class); | |
| 39 | 7 | $cache->save($appId, $app); | |
| 40 | |||
| 41 | 7 | return $app; | |
| 42 | } | ||
| 43 | } | ||
| 44 |