Class: Dry::Container

Inherits:
Object
  • Object
show all
Includes:
Mixin
Defined in:
lib/dry/container.rb,
lib/dry/container/item.rb,
lib/dry/container/stub.rb,
lib/dry/container/error.rb,
lib/dry/container/mixin.rb,
lib/dry/container/version.rb,
lib/dry/container/registry.rb,
lib/dry/container/resolver.rb,
lib/dry/container/namespace.rb,
lib/dry/container/namespace_dsl.rb

Overview

Inversion of Control (IoC) container

Examples:


container = Dry::Container.new
container.register(:item, 'item')
container.resolve(:item)
=> 'item'

container.register(:item1, -> { 'item' })
container.resolve(:item1)
=> 'item'

container.register(:item2, -> { 'item' }, call: false)
container.resolve(:item2)
=> #<Proc:0x007f33b169e998@(irb):10 (lambda)>

Defined Under Namespace

Modules: Mixin, Stub Classes: Error, Item, Namespace, NamespaceDSL, Registry, Resolver

Constant Summary collapse

PREFIX_NAMESPACE =
->(namespace, key, config) do
  [namespace, key].compact.join(config.namespace_separator)
end
VERSION =
'0.4.0'.freeze

Method Summary

Methods included from Mixin

#[], #_container, #each_key, #enable_stubs!, extended, #import, included, #key?, #keys, #merge, #namespace, #register, #resolve