/**
  * @param AssetBlock $assetBlock
  * @return string
  */
 public function renderBlock(AssetBlock $assetBlock)
 {
     $output = "";
     foreach ($assetBlock->getAssets() as $asset) {
         $output .= $this->render($asset);
     }
     return $output;
 }
 /**
  * @param null $name
  * @return string
  * @throws AssetRendererNotFoundException
  */
 public function renderBlock(AssetBlock $block, AssetRenderer $renderer = null)
 {
     if (is_null($renderer)) {
         $renderer = $block->getRenderer();
     }
     if (is_string($renderer)) {
         $renderer = $this->renderers[$renderer];
     }
     if (!is_a($renderer, 'AssetRenderer')) {
         throw new AssetRendererNotFoundException(array('renderer' => $block->getRenderer()));
     }
     return $renderer->renderBlock($block);
 }
 /**
  * @param $name
  * @return bool
  */
 protected function prepareBlock($name)
 {
     if (!empty($this->assets[$name]) && is_a($this->assets[$name], 'AssetBlock')) {
         return TRUE;
     }
     if (!empty($this->blocks[$name])) {
         $this->assets[$name] = $this->createBlock($this->blocks[$name]);
         return TRUE;
     }
     $block = new AssetBlock();
     $block->setIgnoreTypes($this->blocks[$name]['ignoreTypes']);
     $this->assets[$name] = $block;
     return TRUE;
 }