Sha256: a6cfe160ccddaf87a74a9085a7fbabc9cd6b96b6c133b7cfa14f12c782139b4f
Contents?: true
Size: 716 Bytes
Versions: 18
Compression:
Stored size: 716 Bytes
Contents
# frozen_string_literal: true 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
18 entries across 18 versions & 1 rubygems