* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace Symfony\Bundle\AsseticBundle\Factory\Resource; use Assetic\Factory\Resource\DirectoryResource as BaseDirectoryResource; use Symfony\Component\Templating\Loader\LoaderInterface; /** * A directory resource that creates Symfony2 templating resources. * * @author Kris Wallsmith */ class DirectoryResource extends BaseDirectoryResource { protected $loader; protected $bundle; protected $path; /** * Constructor. * * @param LoaderInterface $loader The templating loader * @param string $bundle The current bundle name * @param string $path The directory path * @param string $pattern A regex pattern for file basenames */ public function __construct(LoaderInterface $loader, $bundle, $path, $pattern = null) { $this->loader = $loader; $this->bundle = $bundle; $this->path = rtrim($path, '/').'/'; parent::__construct($path, $pattern); } public function getIterator() { return is_dir($this->path) ? new DirectoryResourceIterator($this->loader, $this->bundle, $this->path, $this->getInnerIterator()) : new \EmptyIterator(); } }