Sha256: 3b14fcb364357ef81516d0f2860f91d6bd52e577a66f7c32879fdf26efe8c3da

Contents?: true

Size: 905 Bytes

Versions: 6

Compression:

Stored size: 905 Bytes

Contents

# frozen_string_literal: true
module Blacklight
  module Suggest
    class Response
      attr_reader :response, :request_params, :suggest_path, :suggester_name

      ##
      # Creates a suggest response
      # @param [RSolr::HashWithResponse] response
      # @param [Hash] request_params
      # @param [String] suggest_path
      # @param [String] suggester_name
      def initialize(response, request_params, suggest_path, suggester_name)
        @response = response
        @request_params = request_params
        @suggest_path = suggest_path
        @suggester_name = suggester_name
      end

      ##
      # Trys the suggester response to return suggestions if they are
      # present
      # @return [Array]
      def suggestions
        (response.try(:[], suggest_path).try(:[], suggester_name).try(:[], request_params[:q]).try(:[], 'suggestions') || []).uniq
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
blacklight-7.14.0 app/models/concerns/blacklight/suggest/response.rb
blacklight-7.13.2 app/models/concerns/blacklight/suggest/response.rb
blacklight-7.13.1 app/models/concerns/blacklight/suggest/response.rb
blacklight-7.13.0 app/models/concerns/blacklight/suggest/response.rb
blacklight-7.12.1 app/models/concerns/blacklight/suggest/response.rb
blacklight-7.12.0 app/models/concerns/blacklight/suggest/response.rb