module ActiveAdmin::Settings::ClassMethods

Public Instance Methods

default_settings() click to toggle source
# File lib/active_admin/helpers/settings.rb, line 67
def default_settings
  @default_settings ||= {}
end
deprecated_setting(name, default, message = nil) click to toggle source
# File lib/active_admin/helpers/settings.rb, line 59
def deprecated_setting(name, default, message = nil)
  setting(name, default)

  message ||= "The #{name} setting is deprecated and will be removed."
  ActiveAdmin::Deprecation.deprecate self,     name,    message
  ActiveAdmin::Deprecation.deprecate self, :"#{name}=", message
end
setting(name, default) click to toggle source
# File lib/active_admin/helpers/settings.rb, line 36
def setting(name, default)
  default_settings[name] = default
  attr_writer name

  # Create an accessor that looks up the default value if none is set.
  define_method name do
    if instance_variable_defined? "@#{name}"
      instance_variable_get "@#{name}"
    else
      read_default_setting name.to_sym
    end
  end

  define_method "#{name}?" do
    value = public_send(name)
    if value.is_a? Array
      value.any?
    else
      value.present?
    end
  end
end