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



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

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



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

def self.clear_configs
  @@configurations_collection.clear
end

.get_config(name) ⇒ Object



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

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

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

  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