Module: ES::Index::Config::Options
- Included in:
- ES::Index::Config
- Defined in:
- lib/es/index/config/options.rb
Overview
Encapsulates logic for setting options.
Instance Method Summary collapse
Instance Method Details
#defaults ⇒ Object
8 9 10 |
# File 'lib/es/index/config/options.rb', line 8 def defaults @defaults ||= {} end |
#option(name, options = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/es/index/config/options.rb', line 12 def option(name, = {}) defaults[name] = settings[name] = [: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 ⇒ Object
34 35 36 |
# File 'lib/es/index/config/options.rb', line 34 def reset settings.replace(defaults) end |
#settings ⇒ Object
38 39 40 |
# File 'lib/es/index/config/options.rb', line 38 def settings @settings ||= {} end |