class RailsBase::Configuration::Admin

Constants

ADMIN_TYPE_PROC
DEFAULT_ADMIN_ACTIVE
DEFAULT_ADMIN_SELF
DEFAULT_ADMIN_TYPE
DEFAULT_EMAIL_VALIDATED
DEFAULT_MFA_ENABLED
DEFAULT_PAGE_FILTER
DEFAULT_VALUES

Public Instance Methods

_admin_type_replace_proc() click to toggle source
# File lib/rails_base/configuration/admin.rb, line 215
def _admin_type_replace_proc
  admin_page_filter.each_with_index do |value, index|
    next unless value[:replace].present?

    admin_page_filter[index] = ADMIN_TYPE_PROC.call(value)
  end
  admin_page_filter.flatten!
end
_assert_admin_type() click to toggle source
# File lib/rails_base/configuration/admin.rb, line 207
def _assert_admin_type
  admin_types.delete(ADMIN_ROLE_OWNER)
  admin_types.delete(ADMIN_ROLE_NONE)
  admin_types << ADMIN_ROLE_OWNER
  admin_types.prepend ADMIN_ROLE_NONE
  convenience_methods
end
convenience_methods() click to toggle source
# File lib/rails_base/configuration/admin.rb, line 224
def convenience_methods
  # defines instance methods like
  # user.at_least_super?
  # user.at_least_owner?
  # user.admin_super!
  # user.admin_owner!
  # User.admin_owner
  # User.admin_owners
  # This is 100% dependent upon keeping `admin_types` in order of precedence
  admin_types.each do |type|
    ::User._def_admin_convenience_method!(admin_method: type)
  end
end