class ActiveAdmin::ResourceController

All Resources Controller inherits from this controller. It implements actions and helpers for resources.

Public Class Methods

active_admin_config=(config) click to toggle source
# File lib/active_admin/resource_controller.rb, line 27
def self.active_admin_config=(config)
  if @active_admin_config = config
    defaults resource_class: config.resource_class,
             route_prefix:   config.route_prefix,
             instance_name:  config.resource_name.singular
  end
end
inherited(base) click to toggle source

Inherited Resources uses the `self.inherited(base)` hook to add in `self.resource_class`. To override it, we need to install our resource_class method each time we're inherited from.

Calls superclass method
# File lib/active_admin/resource_controller.rb, line 38
def self.inherited(base)
  super(base)
  base.override_resource_class_methods!
end

Private Instance Methods

renderer_for(action) click to toggle source

Returns the renderer class to use for the given action.

# File lib/active_admin/resource_controller.rb, line 46
def renderer_for(action)
  active_admin_namespace.view_factory["#{action}_page"]
end
restrict_format_access!() click to toggle source
# File lib/active_admin/resource_controller.rb, line 52
def restrict_format_access!
  unless request.format.html?
    presenter = active_admin_config.get_page_presenter(:index)
    download_formats = (presenter || {}).fetch(:download_links, active_admin_config.namespace.download_links)
    unless build_download_formats(download_formats).include?(request.format.symbol)
      raise ActiveAdmin::AccessDenied.new(current_active_admin_user, :index)
    end
  end
end