module Hivent::Config::Options
Public Instance Methods
defaults()
click to toggle source
# File lib/hivent/config/options.rb, line 10 def defaults @defaults ||= {} end
option(name, options = {})
click to toggle source
# File lib/hivent/config/options.rb, line 18 def option(name, options = {}) defaults[name] = settings[name] = options[:default] validators[name] = options[:validate] || ->(_value) { true } class_eval <<-RUBY def #{name} settings[#{name.inspect}] end def #{name}=(value) unless validators[#{name.inspect.to_sym}].(value) raise UnsupportedOptionError.new("Unsupported value " + value.inspect + " for option #{name.inspect}") end settings[#{name.inspect}] = value end def #{name}? #{name} end def reset_#{name} settings[#{name.inspect}] = defaults[#{name.inspect}] end RUBY end
settings()
click to toggle source
# File lib/hivent/config/options.rb, line 43 def settings @settings ||= {} end
validators()
click to toggle source
# File lib/hivent/config/options.rb, line 14 def validators @validators ||= {} end