app/controllers/active_admin/resource_controller/scoping.rb
# frozen_string_literal: true
module ActiveAdmin
class ResourceController < BaseController
# This module deals with scoping entire controllers to a relation
module Scoping
extend ActiveSupport::Concern
protected
# Override the default InheritedResource #begin_of_association_chain to allow
# the scope to be defined in the active admin configuration.
#
# If scope_to is a proc, we eval it, otherwise we call the method on the controller.
#
# Collection can be scoped conditionally with an :if or :unless proc.
def begin_of_association_chain
return nil unless active_admin_config.scope_to?(self)
helpers.render_in_context(self, active_admin_config.scope_to_method)
end
# Overriding from InheritedResources::BaseHelpers
#
# Returns the method for the association chain when using
# the scope_to option
def method_for_association_chain
active_admin_config.scope_to_association_method || super
end
end
end
end