Class: ConfigurationService::ProviderRegistry
- Inherits:
-
Object
- Object
- ConfigurationService::ProviderRegistry
- Includes:
- Singleton
- Defined in:
- lib/configuration_service/provider_registry.rb
Overview
A singleton registry of uniquely identified service provider classes
Provider classes are registered and looked up by unique string identifier.
Instance Method Summary collapse
-
#initialize ⇒ ProviderRegistry
constructor
:nodoc:.
-
#lookup(identifier) ⇒ Object
Return the
provideridentified by the stringidentifier. -
#register(identifier, provider) ⇒ Object
Register a
provideridentified by the stringidentifier.
Constructor Details
#initialize ⇒ ProviderRegistry
:nodoc:
16 17 18 |
# File 'lib/configuration_service/provider_registry.rb', line 16 def initialize ## :nodoc: @providers = {} end |
Instance Method Details
#lookup(identifier) ⇒ Object
Return the provider identified by the string identifier
The provider must already have been registered with #register, and should be a class with a keyword argument constructor.
Returns nil if no provider has been registered with the given identifier.
39 40 41 |
# File 'lib/configuration_service/provider_registry.rb', line 39 def lookup(identifier) @providers[identifier] end |
#register(identifier, provider) ⇒ Object
Register a provider identified by the string identifier
The provider should be a class with a keyword argument constructor.
26 27 28 |
# File 'lib/configuration_service/provider_registry.rb', line 26 def register(identifier, provider) @providers[identifier] = provider end |