Class: ConfigurationService::ProviderRegistry

Inherits:
Object
  • Object
show all
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

Constructor Details

#initializeProviderRegistry

: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