Class: UnifiedSettings::Handlers::ConfigGem
- Defined in:
- lib/unified_settings/handlers/config_gem.rb
Overview
Setting handler for Config gem
Constant Summary collapse
- DEFAULT_CONST_NAME =
By default the gem makes a ‘Settings` object available
'Settings'
Constants inherited from Base
Instance Method Summary collapse
- #defined?(key, case_sensitive: nil) ⇒ Boolean
- #get(key, case_sensitive: nil) ⇒ Object
-
#initialize(const_name: nil) ⇒ ConfigGem
constructor
A new instance of ConfigGem.
Constructor Details
#initialize(const_name: nil) ⇒ ConfigGem
Returns a new instance of ConfigGem.
12 13 14 15 |
# File 'lib/unified_settings/handlers/config_gem.rb', line 12 def initialize(const_name: nil) super() @const_name = const_name || DEFAULT_CONST_NAME end |
Instance Method Details
#defined?(key, case_sensitive: nil) ⇒ Boolean
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/unified_settings/handlers/config_gem.rb', line 17 def defined?(key, case_sensitive: nil) key_arr = to_symbol_array(key) case_sensitive = case_sensitive?(case_sensitive) return true if nested_key_exists?(setting_obj, key_arr) return false if case_sensitive return true if nested_key_exists?(setting_obj, key_arr.map(&:upcase)) return true if nested_key_exists?(setting_obj, key_arr.map(&:downcase)) false end |
#get(key, case_sensitive: nil) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/unified_settings/handlers/config_gem.rb', line 30 def get(key, case_sensitive: nil) key_arr = to_symbol_array(key) case_sensitive = case_sensitive?(case_sensitive) val = setting_obj.dig(*key_arr) return val unless val.nil? return nil if case_sensitive val = setting_obj.dig(*key_arr.map(&:downcase)) return val unless val.nil? setting_obj.dig(*key_arr.map(&:upcase)) end |