private function makeAbsolute($relativePath, Module $containingModule, ModuleList $modules) { // Reference to install path of other module if ('@' !== $relativePath[0] || false === ($pos = strpos($relativePath, ':'))) { return $containingModule->getInstallPath() . '/' . $relativePath; } $refModuleName = substr($relativePath, 1, $pos - 1); if (!$modules->contains($refModuleName)) { throw new NoSuchModuleException(sprintf('The module "%s" referenced in the resource path "%s" was not ' . 'found. Maybe the module is not installed?', $refModuleName, $relativePath)); } $refModule = $modules->get($refModuleName); return $refModule->getInstallPath() . '/' . substr($relativePath, $pos + 1); }
/** * {@inheritdoc} */ public function getModule($name) { Assert::string($name, 'The module name must be a string. Got: %s'); $this->assertModulesLoaded(); return $this->modules->get($name); }