Class: ConfigSourceResolver
- Inherits:
-
Object
- Object
- ConfigSourceResolver
- Defined in:
- lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb
Class Method Summary collapse
- ._get_config_source_as_string(config_source) ⇒ Object
- ._parse_configs_and_add_to_collection(priority, config_string) ⇒ Object
- .add_configs(priority, config_source) ⇒ Object
- .clear_configs ⇒ Object
- .get_config(config_name) ⇒ Object
Class Method Details
._get_config_source_as_string(config_source) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb', line 25 def self._get_config_source_as_string(config_source) raise 'Config source cannot be null or whitespace.' if config_source.nil? || config_source.strip.empty? env_value = ENV[config_source] config_source = env_value if env_value && !env_value.strip.empty? config_source = File.read(config_source, encoding: 'utf-8') if File.file?(config_source) config_source.strip end |
._parse_configs_and_add_to_collection(priority, config_string) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb', line 34 def self._parse_configs_and_add_to_collection(priority, config_string) # Try JSON begin json_object = JSON.parse(config_string) JsonConfigResolver.add_configs(priority, json_object) return rescue StandardError => e puts "Failed to parse config source as JSON: #{e}" unless e.is_a?(JSON::ParserError) end # Try YAML begin YamlConfigResolver.add_configs(priority, config_string) return rescue StandardError => e puts "Failed to parse config source as YAML: #{e}" unless e.is_a?(ArgumentError) end # Try connection string begin ConnectionStringConfigResolver.add_configs(priority, config_string) return rescue StandardError => e # Silently continue end raise "Config source is not valid JSON, YAML, or connection string format:\n#{config_string}" end |
.add_configs(priority, config_source) ⇒ Object
10 11 12 13 14 |
# File 'lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb', line 10 def self.add_configs(priority, config_source) puts "Adding config from source: #{config_source} with priority '#{ConfigPriority.to_s(priority)}'" config_string = ConfigSourceResolver._get_config_source_as_string(config_source) ConfigSourceResolver._parse_configs_and_add_to_collection(priority, config_string) end |
.clear_configs ⇒ Object
21 22 23 |
# File 'lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb', line 21 def self.clear_configs ConfigsDictionary.clear_configs end |
.get_config(config_name) ⇒ Object
16 17 18 19 |
# File 'lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb', line 16 def self.get_config(config_name) puts "Retrieving config #{config_name}" ConfigsDictionary.get_config(config_name) end |