module ActionConductor::ActionController::ClassMethods
Public Instance Methods
conductor(handle, options={})
click to toggle source
# File lib/action_conductor/integrations/action_controller.rb, line 6 def conductor(handle, options={}) register_conductor define_conductor(handle, options) end
Private Instance Methods
conductors()
click to toggle source
# File lib/action_conductor/integrations/action_controller.rb, line 28 def conductors @conductors ||= Collection.new end
define_conductor(handle, options={})
click to toggle source
# File lib/action_conductor/integrations/action_controller.rb, line 20 def define_conductor(handle, options={}) only_actions = options.fetch(:only) { self.action_methods.to_a } except_actions = options.fetch(:except) { [] } actions = only_actions - except_actions Definition.new(handle: handle, actions: actions) end
register_conductor(definition)
click to toggle source
# File lib/action_conductor/integrations/action_controller.rb, line 12 def register_conductor(definition) conductors << definition.klass define_method "#{definition.handle}_conductor" do self.conductor(definition.handle) end end