class Orchestra::DSL::ObjectAdapter
Attributes
collection[RW]
Public Class Methods
build_step(object, args = {})
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 4 def self.build_step object, args = {} method_name = args.delete :method do :execute end collection = args.delete :iterates_over adapter_type = determine_type object, method_name adapter = adapter_type.new object, method_name, collection StepFactory.build adapter, args end
determine_type(object, method_name)
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 12 def self.determine_type object, method_name if object.public_methods.include? method_name SingletonAdapter elsif object.kind_of? Class ClassAdapter else SingletonAdapter end end
new(object, method_name, collection)
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 24 def initialize object, method_name, collection @collection = collection @method_name = method_name || :execute @object = object end
Public Instance Methods
build_context(state)
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 30 def build_context state ObjectContext.new self, state end
collection?()
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 34 def collection? @collection ? true : false end
context_class()
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 38 def context_class @context_class ||= Step.build_execution_context_class dependencies end
dependencies()
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 42 def dependencies [collection, *object_method.dependencies].compact end
name()
click to toggle source
# File lib/orchestra/dsl/object_adapter.rb, line 46 def name if method_name == :execute object.name else "#{object.name}##{method_name}" end end