class Rafters::Renderer
Public Class Methods
new(controller, view_context)
click to toggle source
# File lib/rafters/renderer.rb, line 2 def initialize(controller, view_context) @controller = controller @view_context = view_context Rafters.view_paths.each do |view_path| @controller.prepend_view_path(view_path) end end
Public Instance Methods
render(component)
click to toggle source
# File lib/rafters/renderer.rb, line 11 def render(component) component.controller = @controller store(component) @view_context.content_tag(:div, class: "component #{component.name.dasherize}", id: component.identifier) do @view_context.render(file: "/#{component.template_name}", locals: component.attributes) end end
Private Instance Methods
store(component)
click to toggle source
# File lib/rafters/renderer.rb, line 23 def store(component) @controller.rendered_components ||= {} @controller.rendered_components.merge!(component.as_json) end