module Sandrbox::Config::Options
Encapsulates logic for setting options.
Public Instance Methods
defaults()
click to toggle source
Get the defaults or initialize a new empty hash.
@example Get the defaults.
options.defaults
@return [ Hash ] The default options.
# File lib/sandrbox/options/option.rb, line 14 def defaults @defaults ||= {} end
option(name, options = {})
click to toggle source
Define a configuration option with a default.
@example Define the option.
Options.option(:persist_in_safe_mode, :default => false)
@param [ Symbol ] name The name of the configuration option. @param [ Hash ] options Extras for the option.
@option options [ Object ] :default The default value.
# File lib/sandrbox/options/option.rb, line 27 def option(name, options = {}) defaults[name] = settings[name] = options[:default] class_eval <<-RUBY def #{name} settings[#{name.inspect}] end def #{name}=(value) settings[#{name.inspect}] = value end def #{name}? #{name} end def reset_#{name} settings[#{name.inspect}] = defaults[#{name.inspect}] end RUBY end
reset()
click to toggle source
Reset the configuration options to the defaults.
@example Reset the configuration options.
config.reset
@return [ Hash ] The defaults.
# File lib/sandrbox/options/option.rb, line 55 def reset settings.replace(defaults) end
settings()
click to toggle source
Get the settings or initialize a new empty hash.
@example Get the settings.
options.settings
@return [ Hash ] The setting options.
# File lib/sandrbox/options/option.rb, line 65 def settings @settings ||= {} end