Class | Needle::Registry |
In: |
lib/needle/registry.rb
|
Parent: | Container |
Registry is a specialization of Container, with additional functionality for bootstrapping basic services into a new registry. It also supports a define! method for easily registering new services.
Usage:
require 'needle' registry = Needle::Registry.new registry.register( :foo ) { Foo.new } registry.register( :bar ) { |c| Bar.new( c.foo ) } bar = registry.bar
Instantiate a new Registry. The options hash may include the following keys:
:logs: | options used to initialize the logger factory. The value to this key should be another hash. |
:parent: | The parent container of this registry. |
:name: | The name of this registry. |
If a block is given, the constructed registry instance is yielded to it.
Usage:
registry = Needle::Registry.new
or
registry = Needle::Registry.new do |reg| reg.register( :add ) { Adder.new } end
or
registry = Needle::Registry.new( :logs => { :filename => "/dev/null" } )
Returns nil, unless the registry has a parent, in which case it acts like Container#fullname. Registries are usually unnamed containers.