Class: Hypertube::Sdk::Configuration::ConfigsDictionary
- Inherits:
-
Object
- Object
- Hypertube::Sdk::Configuration::ConfigsDictionary
- Defined in:
- lib/hypertube-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
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/hypertube-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 12 def self.add_config(name, priority, config) if name.nil? || name.strip.empty? puts 'Hypertube::Sdk::Configuration::Config name cannot be null or whitespace. Skipping add.' return end if config.nil? puts 'Hypertube::Sdk::Configuration::Config instance is null. Skipping add.' return end per_priority = @@configurations_collection[name] if per_priority.key?(priority) puts "Hypertube::Sdk::Configuration::Config with name `#{name}` and priority #{Hypertube::Sdk::Configuration::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 #{Hypertube::Sdk::Configuration::ConfigPriority.to_s(priority)} and parameters #{config}" end |
.clear_configs ⇒ Object
45 46 47 |
# File 'lib/hypertube-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 45 def self.clear_configs @@configurations_collection.clear end |
.get_config(name) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/hypertube-ruby-sdk/sdk/configuration/configs_dictionary.rb', line 33 def self.get_config(name) raise 'Hypertube::Sdk::Configuration::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 #{Hypertube::Sdk::Configuration::ConfigPriority.to_s(selected_priority)} and parameters #{config}" config end |