Source of file EnsureFilterWorker.php
Size: 1,698 Bytes - Last Modified: 2013-06-02T00:13:43+02:00
/home/theseer/Downloads/Symfony/vendor/kriswallsmith/assetic/src/Assetic/Factory/Worker/EnsureFilterWorker.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <?php /* * This file is part of the Assetic package, an OpenSky project. * * (c) 2010-2013 OpenSky Project Inc * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Assetic\Factory\Worker; use Assetic\Asset\AssetInterface; use Assetic\Filter\FilterInterface; /** * Applies a filter to an asset based on a source and/or target path match. * * @author Kris Wallsmith <kris.wallsmith@gmail.com> * @todo A better asset-matcher mechanism */ class EnsureFilterWorker implements WorkerInterface { const CHECK_SOURCE = 1; const CHECK_TARGET = 2; private $pattern; private $filter; private $flags; /** * Constructor. * * @param string $pattern A regex for checking the asset's target URL * @param FilterInterface $filter A filter to apply if the regex matches * @param integer $flags Flags for what to check */ public function __construct($pattern, FilterInterface $filter, $flags = null) { if (null === $flags) { $flags = self::CHECK_SOURCE | self::CHECK_TARGET; } $this->pattern = $pattern; $this->filter = $filter; $this->flags = $flags; } public function process(AssetInterface $asset) { if ( (self::CHECK_SOURCE === (self::CHECK_SOURCE & $this->flags) && preg_match($this->pattern, $asset->getSourcePath())) || (self::CHECK_TARGET === (self::CHECK_TARGET & $this->flags) && preg_match($this->pattern, $asset->getTargetPath())) ) { $asset->ensureFilter($this->filter); } } } |