Method: ActionView::Template::Handlers::MbraoTemplate#render

Defined in:
lib/mbrao/integrations/rails.rb

#render(renderer, template) ⇒ String

Renders a template into a renderer context.

Parameters:

  • renderer (Object)

    The renderer context.

  • template (String)

    The template to render.

Returns:

  • (String)

    The rendered template.



34
35
36
37
38
39
40
41
42
43
# File 'lib/mbrao/integrations/rails.rb', line 34

def render(renderer, template)
  content = ::Mbrao::Parser.parse(template)
  controller = renderer.controller

  controller.instance_variable_set(:@mbrao_content, content)
  controller.define_singleton_method(:mbrao_content) { @mbrao_content }
  controller.class.send(:helper_method, :mbrao_content)

  ::Mbrao::Parser.render(content, {engine: content.[:engine], locale: controller.params[:locale]})
end