Class: Conject::DependencyResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/conject/dependency_resolver.rb

Instance Method Summary collapse

Instance Method Details

#resolve_for_class(klass, object_context, remapping = nil) ⇒ Object

Given a Class, generate a map of dependencies needed to construct a new instance of that class. Dependencies are looked up (and/or instantiated, as determined within the ObjectContext) via the provided ObjectContext.

This method assumes the Class has_object_defintion? (Client code should determine that before invoking this method.)



12
13
14
15
16
17
18
# File 'lib/conject/dependency_resolver.rb', line 12

def resolve_for_class(klass, object_context, remapping=nil)
  remapping ||= {}
  klass.object_definition.component_names.inject({}) do |obj_map, name|
    obj_map[name] = search_for(klass, object_context, remapping[name.to_sym] || remapping[name.to_s] || name)
    obj_map
  end
end