Sha256: 357b0b23bcac4998baea04b1ecff9f3333add86680f6c27fbfa068520f226505

Contents?: true

Size: 554 Bytes

Versions: 3

Compression:

Stored size: 554 Bytes

Contents

module AdminCore
  class ResourceSearch
    # @param resource_manager
    def initialize(resource_manager)
      @resource_manager = resource_manager
    end

    # @param filters [Array<AdminCore::ResourceFilter::Base>]
    # @return [ActiveRecord::Relation] resources for index page.
    def search(filters)
      resources = resource_manager.class.resource_class.all
      filters.reject(&:empty?).each do |filter|
        resources = filter.apply(resources)
      end
      resources
    end

    private

    attr_reader :resource_manager
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
admin_core-0.0.3 lib/admin_core/resource_search.rb
admin_core-0.0.2 lib/admin_core/resource_search.rb
admin_core-0.0.1 lib/admin_core/resource_search.rb