public function getAdapter()
{
if (!isset($this->adapter)) {
$adapter = $this->options['adapter'];
$className = strpos($adapter, '\\') === false ? __NAMESPACE__ . '\\Renderer\\Adapter\\' . ucfirst($this->options['adapter']) : $adapter;
if (!class_exists($className)) {
throw new \RuntimeException("The passed adapter {$className} doesn't exist");
}
if (!is_subclass_of($className, __NAMESPACE__ . '\\Renderer\\AdapterBase')) {
throw new \RuntimeException("The passed adapter {$className} doesn't extend Tale\\Jade\\Renderer\\AdapterBase");
}
$this->adapter = new $className($this, $this->options['adapter_options']);
}
return $this->adapter;
}