private function createAPIDocsBuilderRequest() { $apiDocsBuilderRequest = new APIDocsBuilderRequest(); foreach ($this->bundlesService->getBundles() as $bundle) { if (in_array(get_class($bundle), $this->excludedBundles)) { continue; } if ($bundle->hasAPIDocsDir()) { $apiDocsBuilderRequest->addDirectory($bundle->getAPIDocsDir()); } } return $apiDocsBuilderRequest; }
public function fetch(Filter $filter) : array { $result = []; $scripts = Chain::create($this->bundlesService->getBundles())->filter(function (Bundle $bundle) { return $bundle instanceof FrontlineBundleInjectable; })->map(function (FrontlineBundleInjectable $bundle) { return $bundle->getFrontlineScripts(); })->reduce(function (array $carry, array $scripts) { return array_merge($carry, $scripts); }, []); $scripts = array_map(function (string $script) { return $this->container->get($script); }, $scripts); foreach ($filter->filter($scripts) as $script) { if ($script instanceof FrontlineScript) { $result = array_merge_recursive($result, $script()); } else { throw new \Exception(); } } return $result; }