module Rafters::Context
Attributes
rendered_components[RW]
Public Instance Methods
component_attributes(name, options = {})
click to toggle source
# File lib/rafters/context.rb, line 11 def component_attributes(name, options = {}) component = component(name, options) component.as_json end
render_component(name, options = {})
click to toggle source
# File lib/rafters/context.rb, line 16 def render_component(name, options = {}) component = component(name, options) component_renderer.render(component) end
render_with_component(*args, &block)
click to toggle source
# File lib/rafters/context.rb, line 21 def render_with_component(*args, &block) if params[:component] component, settings = params[:component], params[:options] respond_to do |format| format.html { render_without_component(text: render_component(component, options)) } format.json { render_without_component(json: component_attributes(component, options)) } end else render_without_component(*args, &block) end end
Private Instance Methods
component(name, options = {})
click to toggle source
# File lib/rafters/context.rb, line 40 def component(name, options = {}) component_klass = "#{name}_component".classify.constantize component = component_klass.new(options) end
component_renderer()
click to toggle source
# File lib/rafters/context.rb, line 36 def component_renderer @_component_renderer ||= Rafters::Renderer.new(self, view_context) end