Sha256: d3f48bb8e9eae8094af95207f862c3646b148c644803825f30dddf2d340a6821

Contents?: true

Size: 692 Bytes

Versions: 3

Compression:

Stored size: 692 Bytes

Contents

module CurationConcerns
  class CollectionMemberSearchBuilder < ::SearchBuilder
    include CurationConcerns::FilterByType

    class_attribute :collection_membership_field
    self.collection_membership_field = 'member_of_collection_ids_ssim'

    # Defines which search_params_logic should be used when searching for Collection members
    self.default_processor_chain += [:member_of_collection]

    delegate :collection, to: :scope

    # include filters into the query to only include the collection memebers
    def member_of_collection(solr_parameters)
      solr_parameters[:fq] ||= []
      solr_parameters[:fq] << "#{collection_membership_field}:#{collection.id}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
curation_concerns-2.0.0 app/search_builders/curation_concerns/collection_member_search_builder.rb
curation_concerns-2.0.0.rc2 app/search_builders/curation_concerns/collection_member_search_builder.rb
curation_concerns-2.0.0.rc1 app/search_builders/curation_concerns/collection_member_search_builder.rb