module Settingify::DSL
Public Instance Methods
group(name, &block)
click to toggle source
# File lib/settingify/dsl.rb, line 9 def group(name, &block) Builders::Group.call(name, &block) end
setting(name, type: String, default: '')
click to toggle source
# File lib/settingify/dsl.rb, line 3 def setting(name, type: String, default: '') setting_item = build_setting_item(name, type, default) register_setting setting_item define_setting setting_item end
Private Instance Methods
build_setting_item(name, type, default)
click to toggle source
# File lib/settingify/dsl.rb, line 15 def build_setting_item(name, type, default) RepoItem.new(name, type, default) end
define_setting(setting_item)
click to toggle source
# File lib/settingify/dsl.rb, line 19 def define_setting(setting_item) Settingify.singleton_class.instance_eval do define_method setting_item.name do Reader.new(setting_item).call end end end
register_setting(setting_item)
click to toggle source
# File lib/settingify/dsl.rb, line 27 def register_setting(setting_item) Settingify::Repos::Settings.instance.add setting_item end