Class: LSQS::ActionRouter
- Inherits:
-
Object
- Object
- LSQS::ActionRouter
- Defined in:
- lib/lsqs/action_router.rb
Defined Under Namespace
Classes: ActionError
Instance Attribute Summary collapse
-
#queue_list ⇒ Object
readonly
Returns the value of attribute queue_list.
Instance Method Summary collapse
-
#distribute(action_name, options) ⇒ LSQS::Actions::Base
Distributes an action to the appropriate class.
-
#initialize(queue_list) ⇒ ActionRouter
constructor
A new instance of ActionRouter.
Constructor Details
#initialize(queue_list) ⇒ ActionRouter
Returns a new instance of ActionRouter.
9 10 11 |
# File 'lib/lsqs/action_router.rb', line 9 def initialize(queue_list) @queue_list = queue_list end |
Instance Attribute Details
#queue_list ⇒ Object (readonly)
Returns the value of attribute queue_list.
4 5 6 |
# File 'lib/lsqs/action_router.rb', line 4 def queue_list @queue_list end |
Instance Method Details
#distribute(action_name, options) ⇒ LSQS::Actions::Base
Distributes an action to the appropriate class. If an action does not exist, it throws an error.
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/lsqs/action_router.rb', line 22 def distribute(action_name, ) if LSQS::Actions.const_defined?(action_name) action = LSQS::Actions.const_get(action_name).new(queue_list) queue_list.query do action.perform() end return action else raise ActionError, "undefined action `#{action_name}`" end end |