Sha256: 972375f5d0c9e9ae6aa76d331b011cd80471ada4a00c3fe659828d2fa91c6f6c

Contents?: true

Size: 822 Bytes

Versions: 1

Compression:

Stored size: 822 Bytes

Contents

require 'musterb'
require 'action_view'

class Musterb::TemplateHandler < Musterb::Musterbifier
  def render_partial(partial)
    "<%= render :partial => '#{partial}', :locals => {:initial_context => musterb.context} %>"
  end

  def text_without_escaping(tokens)
    "<%= #{tokens}.html_safe %>"
  end

  def text_with_escaping(tokens)
    "<%= #{tokens} %>"
  end

  def self.compile_mustache(source, options = {})
    erb = Musterb.to_erb(source, options.merge(:musterbifier_klass => self))
    klass = ActionView::Template::Handlers::ERB
    klass.erb_implementation.new(erb, :trim => (klass.erb_trim_mode == "-")).src
  end

  def self.call(template)
   options = {}
   options[:initial_context] = "initial_context" if template.locals.include? "initial_context"
   compile_mustache(template.source, options)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
musterb-0.1.0 lib/musterb/template_handler.rb