Class: ConfigurationService::Provider::Stub
- Inherits:
-
Object
- Object
- ConfigurationService::Provider::Stub
- Defined in:
- lib/configuration_service/provider/stub.rb
Overview
A stub configuration service provider
Used to validate the test framework architecture.
It is registered into the ConfigurationService::ProviderRegistry with identifier “stub”.
Constant Summary collapse
- BUILTIN_TOKENS =
{ :admin => 'b72b9ae7-3849-a335-67b6-administrator', :consumer => '64867ebd-6364-0bd3-3fda-81-requestor', :publisher => 'f53606cb-7f3c-4432-afe8-44-publisher', :nothing => '2972abd7-b055-4841-8ad1-4a34-nothing', }
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Stub
constructor
A new instance of Stub.
-
#publish_configuration(configuration, token) ⇒ ConfigurationService::Configuration
Publish configuration.
-
#request_configuration(identifier, token) ⇒ ConfigurationService::Configuration?
Request configuration.
Constructor Details
#initialize(options = {}) ⇒ Stub
Returns a new instance of Stub.
34 35 36 37 |
# File 'lib/configuration_service/provider/stub.rb', line 34 def initialize( = {}) @name = [:name] or raise ArgumentError, "missing required argument: name" @configurations = StubStore.instance end |
Instance Method Details
#publish_configuration(configuration, token) ⇒ ConfigurationService::Configuration
Publish configuration
68 69 70 71 72 |
# File 'lib/configuration_service/provider/stub.rb', line 68 def publish_configuration(configuration, token) (:publisher, token) @configurations.store(configuration.identifier, configuration.data, configuration.) configuration end |
#request_configuration(identifier, token) ⇒ ConfigurationService::Configuration?
Request configuration
Fetches configuration from the singleton StubStore.
50 51 52 53 54 55 56 |
# File 'lib/configuration_service/provider/stub.rb', line 50 def request_configuration(identifier, token) (:consumer, token) data, = @configurations.fetch(identifier) Configuration.new(identifier, data, ) rescue KeyError nil end |