class Markaby::Rails::TemplateHandler

Attributes

view[RW]

Public Instance Methods

compile(template, local_assigns={}) click to toggle source
# File lib/markaby/rails/current.rb, line 8
      def compile(template, local_assigns={})
        "          __template_handler = Markaby::Rails::TemplateHandler.new
          __template_handler.view = self
          __template_handler.render(lambda {
            #{template.source}
          }, local_assigns)
"
      end
render(template, local_assigns = (template.respond_to?(:locals) ? template.locals : {})) click to toggle source
# File lib/markaby/rails/current.rb, line 18
def render(template, local_assigns = (template.respond_to?(:locals) ? template.locals : {}))
  builder = RailsBuilder.new(instance_variables.merge(local_assigns), @view)
  @view.output_buffer = builder

  template.is_a?(Proc) ?
    builder.instance_eval(&template) :
    builder.instance_eval(template.source)

  builder.to_s
end