class Middleman::Renderers::HamlTemplate

Haml precompiles filters before the scope is even available, thus making it impossible to pass our Middleman instance in. So we have to resort to heavy hackery :(

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/middleman-core/renderers/haml.rb, line 23
def initialize(*args, &block)
  super

  @context = @options[:context] if @options.key?(:context)
end

Public Instance Methods

evaluate(scope, locals, &block) click to toggle source
# File lib/middleman-core/renderers/haml.rb, line 32
def evaluate(scope, locals, &block)
  options = {}.merge!(@options).merge!(filename: eval_file, line: line, context: @context || scope)
  @engine = ::Haml::Engine.new(data, options)
  output = @engine.render(scope, locals, &block)

  output
end
prepare() click to toggle source
# File lib/middleman-core/renderers/haml.rb, line 29
def prepare
end