Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
CRAP | |
75.00% |
12 / 16 |
AssetFileFiltersManager | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
11.56 | |
75.00% |
12 / 16 |
validatePlugin | |
0.00% |
0 / 1 |
6.00 | |
50.00% |
2 / 4 |
|||
setService | |
100.00% |
1 / 1 |
2 | |
100.00% |
5 / 5 |
|||
setOptions | |
0.00% |
0 / 1 |
2.06 | |
75.00% |
3 / 4 |
|||
getOptions | |
0.00% |
0 / 1 |
2.15 | |
66.67% |
2 / 3 |
<?php | |
namespace AssetsBundle\AssetFile; | |
class AssetFileFiltersManager extends \Zend\ServiceManager\AbstractPluginManager { | |
/** | |
* @var \AssetsBundle\Service\ServiceOptions | |
*/ | |
protected $options; | |
/** | |
* Validate the plugin. Checks that the filter loaded is an instance of \AssetsBundle\AssetFile\AssetFileFilter\AssetFileFilterInterface | |
* @param mixed $oAssetsFilter | |
* @throws \RuntimeException | |
*/ | |
public function validatePlugin($oAssetFileFilter) { | |
if ($oAssetFileFilter instanceof \AssetsBundle\AssetFile\AssetFileFilter\AssetFileFilterInterface) { | |
return; | |
} | |
throw new \RuntimeException(sprintf( | |
'Assets Filter expects an instance of \AssetsBundle\AssetFile\AssetFileFilter\AssetFileFilterInterface, "%s" given', is_object($oAssetFileFilter) ? get_class($oAssetFileFilter) : (is_scalar($oAssetFileFilter) ? $oAssetFileFilter : gettype($oAssetFileFilter)) | |
)); | |
} | |
/** | |
* @param string $sName | |
* @param mixed $oAssetFileFilter | |
* @param boolean $bShared | |
* @return \AssetsBundle\AssetFile\AssetFileFiltersManager | |
*/ | |
public function setService($sName, $oAssetFileFilter, $bShared = true) { | |
if ($oAssetFileFilter) { | |
$this->validatePlugin($oAssetFileFilter); | |
$oAssetFileFilter->setOptions($this->getOptions()); | |
} | |
parent::setService($sName, $oAssetFileFilter, $bShared); | |
return $this; | |
} | |
/** | |
* @param \AssetsBundle\Service\ServiceOptions $oOptions | |
* @return \AssetsBundle\AssetFile\AssetFileFiltersManager | |
*/ | |
public function setOptions(\AssetsBundle\Service\ServiceOptions $oOptions) { | |
$this->options = $oOptions; | |
foreach ($this->instances as $oAssetFileFilter) { | |
$oAssetFileFilter->setOptions($oOptions); | |
} | |
return $this; | |
} | |
/** | |
* @return \AssetsBundle\Service\ServiceOptions | |
*/ | |
public function getOptions() { | |
if (!($this->options instanceof \AssetsBundle\Service\ServiceOptions)) { | |
$this->setOptions(new \AssetsBundle\Service\ServiceOptions()); | |
} | |
return $this->options; | |
} | |
} |