class Docks::Renderers::Haml

Public Class Methods

new() click to toggle source
Calls superclass method Docks::Renderers::Base::new
# File lib/docks/renderers/haml_renderer.rb, line 11
def initialize
  require "haml"
  super
end

Public Instance Methods

capture(*args, &block) click to toggle source
# File lib/docks/renderers/haml_renderer.rb, line 32
def capture(*args, &block)
  capture_haml(*args, &block)
end
render(template, locals = {}) click to toggle source
# File lib/docks/renderers/haml_renderer.rb, line 16
def render(template, locals = {})
  old_buffer, @haml_buffer = @haml_buffer, nil

  content, layout, locals = normalize_content_and_locals(template, locals)
  return if content.nil?

  content = ::Haml::Engine.new(content).render(binding, locals)
  return content if layout.nil?

  ::Haml::Engine.new(layout).render(binding, locals) do |name|
    name.nil? ? content : @content_blocks[name]
  end
ensure
  @haml_buffer = old_buffer
end