Class: RegistersClient::RegisterClientManager

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

Instance Method Summary collapse

Constructor Details

#initialize(config_options = {}) ⇒ RegisterClientManager

Returns a new instance of RegisterClientManager.



7
8
9
10
# File 'lib/register_client_manager.rb', line 7

def initialize(config_options = {})
  @config_options = defaults.merge(config_options)
  @register_clients = {}
end

Instance Method Details

#get_register(register, phase, options = {}) ⇒ Object



12
13
14
15
# File 'lib/register_client_manager.rb', line 12

def get_register(register, phase, options = {})
  environment_url = get_environment_url_from_phase(phase)
  get_register_from_environment(register, environment_url, options)
end

#get_register_from_environment(register, environment_url, options = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/register_client_manager.rb', line 17

def get_register_from_environment(register, environment_url, options = {})
  key = register + ':' + environment_url.to_s

  if !@register_clients.key?(key)
    data_store = options.has_key?(:data_store) ? options[:data_store] : RegistersClient::InMemoryDataStore.new(@config_options)
    register_url = get_register_url(register, environment_url)

    @register_clients[key] = create_register_client(register_url, data_store, @config_options.fetch(:page_size))
  end
  
  @register_clients[key]
end