Class: ConfigsDictionary

Inherits:
Object
  • Object
show all
Defined in:
lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb

Constant Summary collapse

@@configurations_collection =
Hash.new { |h, k| h[k] = {} }

Class Method Summary collapse

Class Method Details

.add_config(name, priority, config) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 9

def self.add_config(name, priority, config)
  if name.nil? || name.strip.empty?
    puts 'Config name cannot be null or whitespace. Skipping add.'
    return
  end
  if config.nil?
    puts 'Config instance is null. Skipping add.'
    return
  end

  per_priority = @@configurations_collection[name]

  if per_priority.key?(priority)
    puts "Config with name `#{name}` and priority #{ConfigPriority.to_s(priority)} already exists. It will not be added or updated."
    return
  end

  per_priority[priority] = config
  puts "Added configuration `#{name}` with priority #{ConfigPriority.to_s(priority)} and parameters #{config}"
end

.clear_configsObject



42
43
44
# File 'lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 42

def self.clear_configs
  @@configurations_collection.clear
end

.get_config(name) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 30

def self.get_config(name)
  raise 'Config name cannot be null or whitespace' if name.nil? || name.strip.empty?

  per_priority = @@configurations_collection[name]
  raise "Configuration #{name} not found" if per_priority.nil? || per_priority.empty?

  selected_priority = per_priority.keys.min
  config = per_priority[selected_priority]
  puts "Retrieved configuration `#{name}` with priority #{ConfigPriority.to_s(selected_priority)} and parameters #{config}"
  config
end