module FlexibleConfig::WrappedEnv
Public Class Methods
[](generic_key)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 4 def [](generic_key) key = normalize_key generic_key normalize(overrides.key?(key) ? overrides[key] : ENV[key]) end
fetch(generic_key, &block)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 9 def fetch(generic_key, &block) key = normalize_key generic_key return overrides[key] if overrides.key?(key) normalize ENV.fetch(key, &block) rescue KeyError => e raise NotFound.new key end
int(generic_key, &block)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 18 def int(generic_key, &block) key = normalize_key generic_key val = fetch(key) return block.call if val.nil? && block_given? raise NotFound.new if val.nil? val.to_i end
normalize(val)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 27 def normalize(val) case val.to_s.downcase when 'true' then true when 'false' then false when '' then nil else val end end
override(key, value)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 36 def override(key, value) overrides[key] = value end
reset()
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 40 def reset @overrides = {} end
Private Class Methods
normalize_key(key)
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 50 def normalize_key(key) key.upcase.gsub('.', '_') end
overrides()
click to toggle source
# File lib/flexible_config/wrapped_env.rb, line 46 def overrides @overrides ||= {} end