Sha256: ddf55890a686c668332a68dbfea24c0721f7bb3a76683b1abe7300f72c9c556a
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
require 'deas/template_engine' require 'erubis' require 'deas-erubis/version' require 'deas-erubis/source' module Deas::Erubis class TemplateEngine < Deas::TemplateEngine DEFAULT_HANDLER_LOCAL = 'view'.freeze DEFAULT_LOGGER_LOCAL = 'logger'.freeze def erb_source @erb_source ||= Source.new(self.source_path, { :eruby => self.opts['eruby'], :cache => self.opts['cache'], :deas_source => self.opts['deas_template_source'], :default_locals => { self.erb_logger_local => self.logger } }) end def erb_handler_local @erb_handler_local ||= (self.opts['handler_local'] || DEFAULT_HANDLER_LOCAL) end def erb_logger_local @erb_logger_local ||= (self.opts['logger_local'] || DEFAULT_LOGGER_LOCAL) end # render the template including the handler as a local def render(template_name, view_handler, locals, &content) self.erb_source.render(template_name, render_locals(view_handler, locals), &content) end # render the template against the given locals def partial(template_name, locals, &content) self.erb_source.render(template_name, locals, &content) end def compile(template_name, compiled_content) self.erb_source.compile(template_name, compiled_content) end private def render_locals(view_handler, locals) { self.erb_handler_local => view_handler }.merge(locals) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
deas-erubis-0.3.0 | lib/deas-erubis.rb |
deas-erubis-0.2.0 | lib/deas-erubis.rb |
deas-erubis-0.1.0 | lib/deas-erubis.rb |