class FlexibleConfig::Builder
Attributes
base_key[R]
Public Class Methods
new(base_key = '')
click to toggle source
# File lib/flexible_config/builder.rb, line 5 def initialize(base_key = '') @base_key = base_key end
Public Instance Methods
fetch(additional_key, default = nil) { || ... }
click to toggle source
# File lib/flexible_config/builder.rb, line 9 def fetch(additional_key, default = nil) key = "#{base_key}.#{additional_key}" item = [WrappedEnv[key], WrappedYaml[key], default].detect { |i| !i.nil? } return item unless item.nil? return yield if block_given? raise NotFound.new key end
Also aliased as: []
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/flexible_config/builder.rb, line 20 def method_missing(method, *args, &block) value = fetch(*args, &block) return super unless value.respond_to? method result = value.send method raise UnsafeConversion.new( "Tried to convert #{value} to int #{result} but was deemed unsafe." ) unless result.to_s == value.to_s result end