class BlendedConfig
Constants
- VERSION
Public Class Methods
group(name, &options)
click to toggle source
# File lib/blended_config.rb, line 8 def self.group(name, &options) option_group = OptionGroup.new(name, &options) option_groups << option_group define_method(name) { option_group } end
new(env: ENV, **options)
click to toggle source
# File lib/blended_config.rb, line 30 def initialize(env: ENV, **options) bind_config_file(options) bind_environment(env) end
option(name, &resolution)
click to toggle source
# File lib/blended_config.rb, line 15 def self.option(name, &resolution) option_resolver = OptionResolver.new(name, &resolution) option_resolvers << option_resolver define_method(name) { option_resolver } end
option_groups()
click to toggle source
# File lib/blended_config.rb, line 22 def self.option_groups @option_groups ||= [] end
option_resolvers()
click to toggle source
# File lib/blended_config.rb, line 26 def self.option_resolvers @option_resolvers ||= [] end
Private Instance Methods
bind_config_file(options)
click to toggle source
# File lib/blended_config.rb, line 37 def bind_config_file(options) source = Sources::File.new(options) bind_source(:file, source) end
bind_environment(environment)
click to toggle source
# File lib/blended_config.rb, line 43 def bind_environment(environment) source = Sources::Environment.new(environment) bind_source(:env, source) end
bind_source(key, source)
click to toggle source
# File lib/blended_config.rb, line 51 def bind_source(key, source) self.class.option_groups.each do |option_group| option_group.bind_source(key, source) end end