lib/active_admin/filters/active.rb
# frozen_string_literal: true require "active_admin/filters/active_filter" module ActiveAdmin module Filters class Active attr_reader :filters, :resource, :scopes # Instantiate a `Active` object containing collection of current active filters # @param resource [ActiveAdmin::Resource] current resource # @param search [Ransack::Search] search object # # @see ActiveAdmin::ResourceController::DataAcces#apply_filtering def initialize(resource, search) @resource = resource @filters = build_filters(search.conditions) @scopes = search.instance_variable_get(:@scope_args) end def all_blank? filters.blank? && scopes.blank? end private def build_filters(conditions) conditions.map { |condition| ActiveFilter.new(resource, condition.dup) } end end end end