Sha256: e827633e79b85f8f5c16ffed8bf3a3024e647f7edfce792ab957e0a46214e969
Contents?: true
Size: 686 Bytes
Versions: 4
Compression:
Stored size: 686 Bytes
Contents
require "active_admin/dynamic_setting" require "active_admin/settings_node" module ActiveAdmin class DynamicSettingsNode < SettingsNode class << self def register(name, value, type = nil) class_attribute "#{name}_setting" add_reader(name) add_writer(name, type) send "#{name}=", value end def add_reader(name) define_singleton_method(name) do |*args| send("#{name}_setting").value(*args) end end def add_writer(name, type) define_singleton_method("#{name}=") do |value| send("#{name}_setting=", DynamicSetting.build(value, type)) end end end end end
Version data entries
4 entries across 4 versions & 2 rubygems