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