Class: ConfigurationService::AdminClient

Inherits:
Object
  • Object
show all
Defined in:
lib/configuration_service/admin_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(token, provider) ⇒ ConfigurationService::AdminClient

Returns object.

Parameters:

  • token (String)
  • provider (String)


11
12
13
14
# File 'lib/configuration_service/admin_client.rb', line 11

def initialize(token, provider)
  @token = token
  @provider = provider
end

Instance Method Details

#publish_configuration(identifier, data, metadata = {}) ⇒ ConfigurationService::Configuration

Returns the published configuration.

Parameters:

  • identifier (String)
  • data (Hash)
  • metadata (Hash) (defaults to: {})

Returns:

Raises:

  • (ConfigurationaService::Error)

    if data or metadata is not a hash



33
34
35
36
37
38
39
40
# File 'lib/configuration_service/admin_client.rb', line 33

def publish_configuration(identifier, data,  = {})
  Utils.dictionary?(data) or raise ConfigurationService::Error, "data must be a dictionary"
  Utils.dictionary?() or raise ConfigurationService::Error, "metadata must be a dictionary"

   = Utils.decorate()
  configuration = Configuration.new(identifier, data, )
  @provider.publish_configuration(configuration, @token)
end

#request_configuration(identifier) ⇒ ConfigurationService::Configuration

Returns the requested configuration.

Parameters:

  • identifier (String)

Returns:

Raises:



21
22
23
24
# File 'lib/configuration_service/admin_client.rb', line 21

def request_configuration(identifier)
  @provider.request_configuration(identifier, @token) or 
    raise ConfigurationNotFoundError, "configuration not found for identifier: #{identifier}"
end