class Para::Routing::ComponentControllerConstraint
Attributes
Public Class Methods
Source
# File lib/para/routing/component_controller_constraint.rb, line 31 def self.components RequestStore.store['para.components_by_id'] ||= {} end
Request based components cache
Source
# File lib/para/routing/component_controller_constraint.rb, line 13 def initialize(controller) @controller = controller.to_sym end
Public Instance Methods
Source
# File lib/para/routing/component_controller_constraint.rb, line 17 def matches?(request) component = component_for(request.params[:component_id]) return false unless component && component.controller component.controller.to_sym == controller end
Private Instance Methods
Source
# File lib/para/routing/component_controller_constraint.rb, line 25 def component_for(component_slug) self.class.components[component_slug] ||= Para::Component::Base.find_by_slug(component_slug) end