Sha256: a251ef5c511f28695dfe04ca365698a4708f125c3dac21eaff2d9e7d3bacb61e

Contents?: true

Size: 1.12 KB

Versions: 21

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true
module Qa::Authorities
  class Collections < Qa::Authorities::Base
    class_attribute :search_builder_class
    self.search_builder_class = Hyrax::CollectionSearchBuilder

    def search(_q, controller)
      # The Hyrax::CollectionSearchBuilder expects a current_user
      return [] unless controller.current_user
      response, = search_response(controller)
      docs = response.documents

      docs.map do |doc|
        { id: doc.id, label: doc.title, value: doc.id }
      end
    end

    private

    def search_service(controller)
      @search_service ||= Hyrax::SearchService.new(
        config: controller.blacklight_config,
        user_params: controller.params,
        search_builder_class: search_builder_class,
        scope: controller,
        current_ability: controller.current_ability
      )
    end

    def search_response(controller)
      access = controller.params[:access] || 'read'

      search_service(controller).search_results do |builder|
        builder.with({ q: controller.params[:q] })
               .with_access(access)
               .rows(100)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
hyrax-5.1.0.pre.beta1 app/authorities/qa/authorities/collections.rb
hyrax-5.0.4 app/authorities/qa/authorities/collections.rb
hyrax-5.0.3 app/authorities/qa/authorities/collections.rb
hyrax-5.0.2 app/authorities/qa/authorities/collections.rb
hyrax-5.0.1 app/authorities/qa/authorities/collections.rb
hyrax-5.0.0 app/authorities/qa/authorities/collections.rb
hyrax-5.0.0.rc3 app/authorities/qa/authorities/collections.rb
hyrax-5.0.0.rc2 app/authorities/qa/authorities/collections.rb
hyrax-5.0.0.rc1 app/authorities/qa/authorities/collections.rb
hyrax-3.6.0 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0.rc3 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0.rc2 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0.rc1 app/authorities/qa/authorities/collections.rb
hyrax-3.5.0 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0.beta2 app/authorities/qa/authorities/collections.rb
hyrax-3.4.2 app/authorities/qa/authorities/collections.rb
hyrax-4.0.0.beta1 app/authorities/qa/authorities/collections.rb
hyrax-3.4.1 app/authorities/qa/authorities/collections.rb
hyrax-3.4.0 app/authorities/qa/authorities/collections.rb