module Dynamoid::Config::Options
Encapsulates logic for setting options. @private
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.
@since 0.2.0
# File lib/dynamoid/config/options.rb, line 17 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.
@since 0.2.0
# File lib/dynamoid/config/options.rb, line 32 def option(name, options = {}) defaults[name] = settings[name] = options[:default] class_eval <<-RUBY, __FILE__, __LINE__ + 1 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.
@since 0.2.0
# File lib/dynamoid/config/options.rb, line 62 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.
@since 0.2.0
# File lib/dynamoid/config/options.rb, line 74 def settings @settings ||= {} end