Sha256: dd9406a7a9d45eefad888a520ba48d58d613faeb77632da6d7796d951942b3eb

Contents?: true

Size: 1.11 KB

Versions: 9

Compression:

Stored size: 1.11 KB

Contents

module ActiveAdmin
  class ResourceController < ::InheritedResources::Base

    # 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.
      def begin_of_association_chain
        return nil unless active_admin_config.scope_to
        case active_admin_config.scope_to
        when Proc
          instance_eval &active_admin_config.scope_to
        when Symbol
          send active_admin_config.scope_to
        else
          raise ArgumentError, "#scope_to accepts a symbol or a block"
        end
      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

Version data entries

9 entries across 9 versions & 4 rubygems

Version Path
andrewroth_activeadmin-0.3.4 lib/active_admin/resource_controller/scoping.rb
activeadmin-0.3.4 lib/active_admin/resource_controller/scoping.rb
activeadmin-0.3.3 lib/active_admin/resource_controller/scoping.rb
activeadmin-0.3.2 lib/active_admin/resource_controller/scoping.rb
activeadmin-0.3.1 lib/active_admin/resource_controller/scoping.rb
activeadmin-0.3.0 lib/active_admin/resource_controller/scoping.rb
nsm-activeadmin-0.2.2 lib/active_admin/resource_controller/scoping.rb
saulolso-activeadmin-0.2.2.1 lib/active_admin/resource_controller/scoping.rb
saulolso-activeadmin-0.2.2 lib/active_admin/resource_controller/scoping.rb