class BlendedConfig::OptionGroup
Public Class Methods
new(name, &options)
click to toggle source
# File lib/blended_config/option_group.rb, line 5 def initialize(name, &options) @name = name @resolvers = [] instance_exec(&options) end
Public Instance Methods
bind_source(key, source)
click to toggle source
# File lib/blended_config/option_group.rb, line 22 def bind_source(key, source) source.prefix_with(@name) @resolvers.each do |resolver| resolver.bind_source(key, source) end end
option(option_name, &resolution)
click to toggle source
# File lib/blended_config/option_group.rb, line 12 def option(option_name, &resolution) resolver = OptionResolver.new(option_name, &resolution) @resolvers << resolver self.class.class_exec do define_method(option_name) { resolver.value } end end