Class: AutoInjector::Constructor

Inherits:
Module
  • Object
show all
Defined in:
lib/auto_injector/constructor.rb

Overview

Provides the automatic and complete resolution of all injected dependencies.

Instance Method Summary collapse

Constructor Details

#initialize(container, *configuration) ⇒ Constructor

Returns a new instance of Constructor.



8
9
10
11
12
13
14
15
# File 'lib/auto_injector/constructor.rb', line 8

def initialize container, *configuration
  super()

  @container = container
  @dependencies = DependencyMap.new(*configuration)
  @class_module = Class.new(Module).new
  @instance_module = Class.new(Module).new
end

Instance Method Details

#included(klass) ⇒ Object



17
18
19
20
21
22
# File 'lib/auto_injector/constructor.rb', line 17

def included klass
  super
  define klass
  klass.extend class_module
  klass.include instance_module
end