Class: Dependor::Instantiator
Instance Method Summary collapse
-
#initialize(injector) ⇒ Instantiator
constructor
A new instance of Instantiator.
- #instantiate(klass) ⇒ Object
Constructor Details
#initialize(injector) ⇒ Instantiator
Returns a new instance of Instantiator.
3 4 5 |
# File 'lib/dependor/instantiator.rb', line 3 def initialize(injector) @injector = injector end |
Instance Method Details
#instantiate(klass) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/dependor/instantiator.rb', line 7 def instantiate(klass) params = klass.instance_method(:initialize).parameters dependency_names = params.select{|type, name| type == :req}.map{|type, name| name} dependencies = dependency_names.map{|name| @injector.get(name)} return klass.new(*dependencies) end |