class ActionView::TemplateHandlers::ErtTemplate

Public Class Methods

line_offset() click to toggle source
# File lib/erector/rails2/template_handlers/ert_handler.rb, line 5
def self.line_offset
  2
end

Public Instance Methods

compile(template) click to toggle source
# File lib/erector/rails2/template_handlers/ert_handler.rb, line 13
def compile(template)
  [
    "extend ::Erector::Mixin",
    "@output_buffer = ''",
    "memoized_instance_variables = instance_variables.inject({}) do |all, instance_variable|",
    "  all[instance_variable] = instance_variable_get(instance_variable)",
    "  all",
    "end",
    "r = (controller.ert_template_base_class || ::Erector).inline do",
    "  memoized_instance_variables.each do |instance_variable, value|",
    "    instance_variable_set(instance_variable, value)",
    "  end",
    template.source,
    "end",
    "r.to_s",
  ].join("; ")
end