class Pieces::Tilt::MustacheTemplate

Public Instance Methods

evaluate(scope, locals, &block) click to toggle source
# File lib/pieces/tilt/mustache.rb, line 8
def evaluate(scope, locals, &block)
  require 'mustache'
  Mustache.render(data, with_block(view_model(scope, locals), &block))
end
initialize_engine() click to toggle source
# File lib/pieces/tilt/mustache.rb, line 4
def initialize_engine; end
prepare() click to toggle source
# File lib/pieces/tilt/mustache.rb, line 6
def prepare; end

Private Instance Methods

view_model(scope, locals) click to toggle source
# File lib/pieces/tilt/mustache.rb, line 15
def view_model(scope, locals)
  if scope.is_a?(Hash)
    locals.merge(scope)
  elsif scope.respond_to?(:to_h)
    locals.merge(scope.to_h)
  else
    locals
  end
end
with_block(view_model, &block) click to toggle source
# File lib/pieces/tilt/mustache.rb, line 25
def with_block(view_model, &block)
  view_model.merge(:yield => block.nil? ? '' : block.call)
end