Module: JsonModel::Config::Options
- Included in:
- JsonModel::Config
- Defined in:
- lib/json_model/config/options.rb
Instance Method Summary collapse
Instance Method Details
#defaults ⇒ Hash
7 8 9 |
# File 'lib/json_model/config/options.rb', line 7 def defaults @defaults ||= {} end |
#option(name, default: nil, &transformation) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/json_model/config/options.rb', line 16 def option(name, default: nil, &transformation) define_method(name) { settings[name] } define_method("#{name}=") do |value| settings[name] = transformation.present? ? transformation.call(value) : value end module_function(name) module_function("#{name}=") defaults[name] = transformation.present? ? transformation.call(default) : default settings[name] = defaults[name] end |
#settings ⇒ Hash
12 13 14 |
# File 'lib/json_model/config/options.rb', line 12 def settings @settings ||= {} end |