class Malt::Engine::RagTag

RagTag XML/HTML templates.

@see github.com/rubyworks/ragtag

Public Instance Methods

create_engine(params={}) click to toggle source
# File lib/malt/engines/ragtag.rb, line 39
def create_engine(params={})
  text = parameters(params, :text)

  cached(text) do
    ::RagTag.new(text)
  end
end
prepare_engine(params={}, &content) click to toggle source
# File lib/malt/engines/ragtag.rb, line 30
def prepare_engine(params={}, &content)
  text, file, scope, locals = parameters(params, :text, :file, :scope, :locals)

  binding = make_binding(scope, locals, &content)

  create_engine(params).compile(binding)
end
render(params={}, &content) click to toggle source
Calls superclass method Malt::Engine::Abstract#render
# File lib/malt/engines/ragtag.rb, line 14
def render(params={}, &content)
  into = parameters(params, :to) || :html

  case into
  when :html
    prepare_engine(params,&content).to_html
  when :xhtml
    prepare_engine(params,&content).to_xhtml
  when :xml
    prepare_engine(params,&content).to_xml
  else
    super(params, &content)
  end
end

Private Instance Methods

require_engine() click to toggle source

Load Haml library if not already loaded.

# File lib/malt/engines/ragtag.rb, line 50
def require_engine
  return if defined? ::RagTag
  require_library 'ragtag'
end