Class: Arsenicum::Task::ClassDispatcher
- Inherits:
-
Arsenicum::Task
- Object
- Arsenicum::Task
- Arsenicum::Task::ClassDispatcher
- Includes:
- Util
- Defined in:
- lib/arsenicum/task/class_dispatcher.rb
Instance Attribute Summary
Attributes inherited from Arsenicum::Task
Instance Method Summary collapse
-
#initialize(id, options) ⇒ ClassDispatcher
constructor
A new instance of ClassDispatcher.
- #run(*parameters) ⇒ Object
Methods included from Util
#camelcase, #classify, #constantize, included, #normalize_hash, #underscore
Constructor Details
#initialize(id, options) ⇒ ClassDispatcher
Returns a new instance of ClassDispatcher.
7 8 9 10 11 12 |
# File 'lib/arsenicum/task/class_dispatcher.rb', line 7 def initialize(id, ) super(id) (klass, method) = [:target].split('#', 2) @target_class = constantize klass @target_method = target_class.instance_method method.to_sym end |
Instance Method Details
#run(*parameters) ⇒ Object
14 15 16 |
# File 'lib/arsenicum/task/class_dispatcher.rb', line 14 def run(*parameters) target_method.bind(target_class.new).call *parameters end |