Class: Orchestra::DSL::ClassAdapter

Inherits:
ObjectAdapter show all
Defined in:
lib/orchestra/dsl/object_adapter.rb

Instance Attribute Summary

Attributes inherited from ObjectAdapter

#collection, #method_name, #object

Instance Method Summary collapse

Methods inherited from ObjectAdapter

#build_context, build_node, #collection?, #context_class, #dependencies, determine_type, #initialize

Constructor Details

This class inherits a constructor from Orchestra::DSL::ObjectAdapter

Instance Method Details

#object_methodObject



84
85
86
# File 'lib/orchestra/dsl/object_adapter.rb', line 84

def object_method
  Invokr.query_method object.instance_method :initialize
end

#perform(state, maybe_item = nil) ⇒ Object



77
78
79
80
81
82
# File 'lib/orchestra/dsl/object_adapter.rb', line 77

def perform state, maybe_item = nil
  instance = Invokr.inject object, :using => state
  args = [method_name]
  args << maybe_item if collection?
  instance.public_send *args
end

#validate!Object

Raises:

  • (NotImplementedError)


71
72
73
74
75
# File 'lib/orchestra/dsl/object_adapter.rb', line 71

def validate!
  return if object.instance_methods.include? method_name
  raise NotImplementedError,
    "#{object} does not implement instance method `#{method_name}'"
end