Class: Silicon::DependencyLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/silicon/loaders/dependency_loader.rb

Instance Method Summary collapse

Constructor Details

#initialize(container, type_loader, silicon_env) ⇒ DependencyLoader

Returns a new instance of DependencyLoader.



3
4
5
6
7
8
# File 'lib/silicon/loaders/dependency_loader.rb', line 3

def initialize(container, type_loader, silicon_env)
  @container = container
  @type_loader = type_loader
  @types = type_loader.load_types
  @silicon_env = silicon_env
end

Instance Method Details

#load_componentsObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/silicon/loaders/dependency_loader.rb', line 10

def load_components
  if @silicon_env == 'development'
    # every time reload types in development mode
    @types = @type_loader.load_types
  end

  @types.each do |type|
    @container.register(type).using_lifetime(:scope).bound_to(:silicon_request)
  end
end