Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
40.00% covered (danger)
40.00%
2 / 5
CRAP
59.09% covered (warning)
59.09%
13 / 22
AssetFileFiltersManager
0.00% covered (danger)
0.00%
0 / 1
40.00% covered (danger)
40.00%
2 / 5
21.86
59.09% covered (warning)
59.09%
13 / 22
 getRegisteredAssetFileFilters
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 validate
0.00% covered (danger)
0.00%
0 / 1
7.46
40.00% covered (danger)
40.00%
2 / 5
 setService
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
5 / 5
 setOptions
0.00% covered (danger)
0.00%
0 / 1
2.06
75.00% covered (warning)
75.00%
3 / 4
 getOptions
0.00% covered (danger)
0.00%
0 / 1
6.28
28.57% covered (danger)
28.57%
2 / 7
<?php
namespace AssetsBundle\AssetFile;
class AssetFileFiltersManager extends \Zend\ServiceManager\AbstractPluginManager
{
    /**
     * Whether or not changes may be made to this instance.
     *
     * @param bool
     */
    protected $allowOverride = true;
    /**
     * @var \AssetsBundle\Service\ServiceOptions
     */
    protected $options;
    public function getRegisteredAssetFileFilters() : array
    {
        return array_keys($this->services);
    }
    /**
     * Validate the plugin. Checks that the filter loaded is an instance of \AssetsBundle\AssetFile\AssetFileFilter\AssetFileFilterInterface
     * @param mixed $oAssetsFilter
     * @throws \RuntimeException
     */
    public function validate($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 bool $bShared
     * @return \AssetsBundle\AssetFile\AssetFileFiltersManager
     */
    public function setService($sName, $oAssetFileFilter, $bShared = true)
    {
        if ($oAssetFileFilter) {
            $this->validate($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) : \AssetsBundle\AssetFile\AssetFileFiltersManager
    {
        $this->options = $oOptions;
        foreach ($this->services as $oAssetFileFilter) {
            $oAssetFileFilter->setOptions($oOptions);
        }
        return $this;
    }
    /**
     * @return \AssetsBundle\Service\ServiceOptions
     * @throws \LogicException
     */
    public function getOptions() : \AssetsBundle\Service\ServiceOptions
    {
        if ($this->options instanceof \AssetsBundle\Service\ServiceOptions) {
            return $this->options;
        }
        throw new \LogicException(
            'Property "options" expects an instance of "\AssetsBundle\Service\ServiceOptions", "'.(
                is_object($this->options)
                ? get_class($this->options)
                : gettype($this->options)
            ).'" defined'
        );
    }
}