class ActiveAdmin::DynamicSetting

def self.build(setting, type)

def self.build(setting, type)
  (type ? klass(type) : self).new(setting)
end

def self.klass(type)

def self.klass(type)
  klass = "#{type.to_s.camelcase}Setting"
  raise ArgumentError, "Unknown type: #{type}" unless ActiveAdmin.const_defined?(klass)
  ActiveAdmin.const_get(klass)
end

def initialize(setting)

def initialize(setting)
  @setting = setting
end

def value(*_args)

def value(*_args)
  @setting
end