Method: FigTree::ConfigStruct#setting
- Defined in:
- lib/fig_tree.rb
#setting(name, default_value = nil, default_proc: nil, removed: false, &block) ⇒ Object
Define a setting with the given name.
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/fig_tree.rb', line 131 def setting(name, default_value=nil, default_proc: nil, removed: false, &block) if block_given? # Create a nested setting setting_config = @settings[name]&.value || ConfigStruct.new("#{@name}.#{name}") setting = ConfigValue.new setting.value = setting_config @settings[name] = setting setting_config.instance_eval(&block) else setting = ConfigValue.new setting.default_proc = default_proc setting.default_value = default_value setting.reset_values setting.removed = removed @settings[name] = setting end end |