Class: Arsenicum::Task::ClassDispatcher

Inherits:
Arsenicum::Task show all
Includes:
Util
Defined in:
lib/arsenicum/task/class_dispatcher.rb

Instance Attribute Summary

Attributes inherited from Arsenicum::Task

#id

Instance Method Summary collapse

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, options)
  super(id)
  (klass, method) = options[: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