Class: Determinator::Retrieve::Dynaconf

Inherits:
Object
  • Object
show all
Defined in:
lib/determinator/retrieve/dynaconf.rb

Overview

A class which loads features from Dynaconf server

Instance Method Summary collapse

Constructor Details

#initialize(base_url:, service_name:, client: default_client) ⇒ Dynaconf

Returns a new instance of Dynaconf.

Parameters:

  • :base (String)

    The protocol, host and port for local Dynaconf server

  • :service (String)

    The name of the service to be included in the User-Agent

  • :client (String)

    Faraday client instance, defaults to a new instance

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
# File 'lib/determinator/retrieve/dynaconf.rb', line 10

def initialize(base_url:, service_name:, client: default_client)
  raise ArgumentError, "client must be a Faraday::Connection" unless client.is_a?(Faraday::Connection)

  @base_url = base_url
  @service_name = service_name
  @client = client
end

Instance Method Details

#retrieve(feature_id) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/determinator/retrieve/dynaconf.rb', line 18

def retrieve(feature_id)
  response = get(feature_id)
  Determinator::Serializers::JSON.load(response.body) if response.status == 200
rescue => e
  Determinator.notice_error(e)
  nil
end