class DependencyInjection::Container

Attributes

definitions[R]
parameters[R]

Public Class Methods

new() click to toggle source
# File lib/dependency_injection/container.rb, line 9
def initialize
  @definitions = {}
  @parameters  = {}
end

Public Instance Methods

add_parameter(name, value) click to toggle source
# File lib/dependency_injection/container.rb, line 14
def add_parameter(name, value)
  @parameters[name] = value
end
find(name) click to toggle source
# File lib/dependency_injection/container.rb, line 18
def find(name)
  @definitions[name]
end
get(name) click to toggle source
# File lib/dependency_injection/container.rb, line 22
def get(name)
  if (definition = self.find(name))
    definition.object
  end
end
register(name, klass_name, lazy=false) click to toggle source
# File lib/dependency_injection/container.rb, line 28
def register(name, klass_name, lazy=false)
  definition = lazy ? LazyDefinition.new(klass_name, self) : Definition.new(klass_name, self)
  @definitions[name] = definition
end
register_alias(name, alias_definition_name) click to toggle source
# File lib/dependency_injection/container.rb, line 33
def register_alias(name, alias_definition_name)
  @definitions[name] = AliasDefinition.new(alias_definition_name, self)
end