Class: RailsIOC::DependencyConstructor

Inherits:
Object
  • Object
show all
Defined in:
lib/rails-ioc/dependency_constructor.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass, definition_backtrace) ⇒ DependencyConstructor

Returns a new instance of DependencyConstructor.



3
4
5
6
# File 'lib/rails-ioc/dependency_constructor.rb', line 3

def initialize(klass, definition_backtrace)
  @klass = klass
  @definition_backtrace = definition_backtrace
end

Instance Method Details

#construct(dependencies) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/rails-ioc/dependency_constructor.rb', line 8

def construct(dependencies)
  begin
    @klass.new(*dependencies.map { |dependency| call_lazy_initializers(dependency) })
  rescue ArgumentError => e
    e.set_backtrace(@definition_backtrace)
    raise e
  end
end