Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
CRAP | |
100.00% |
18 / 18 |
| FilesystemLocator | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
8 | |
100.00% |
18 / 18 |
| __construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
| locate | |
100.00% |
1 / 1 |
5 | |
100.00% |
13 / 13 |
|||
| getLocator | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| getBundleLocator | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| <?php | |
| namespace PHPixie\BundleFramework\Configuration; | |
| class FilesystemLocator implements \PHPixie\Filesystem\Locators\Locator | |
| { | |
| protected $bundleLocators; | |
| protected $overridesLocator; | |
| public function __construct($bundleLocators, $overridesLocator = null) | |
| { | |
| $this->bundleLocators = $bundleLocators; | |
| $this->overridesLocator = $overridesLocator; | |
| } | |
| public function locate($name, $isDirectory = false) | |
| { | |
| if($this->overridesLocator !== null) { | |
| $path = $this->overridesLocator->locate($name, $isDirectory); | |
| if($path !== null) { | |
| return $path; | |
| } | |
| } | |
| $split = explode(':', $name, 2); | |
| if(count($split) !== 2 ) { | |
| return null; | |
| } | |
| list($locatorName, $name) = $split; | |
| $locator = $this->getLocator($locatorName); | |
| if($locator === null) { | |
| return null; | |
| } | |
| return $locator->locate($name, $isDirectory); | |
| } | |
| protected function getLocator($name) | |
| { | |
| return $this->getBundleLocator($name); | |
| } | |
| protected function getBundleLocator($name) | |
| { | |
| return $this->bundleLocators->bundleLocator($name, false); | |
| } | |
| } |