Sha256: 0d6e35b30380a671a4e9695335dd21f40c869e06f6e4f2cf9f14cecbef718fa0

Contents?: true

Size: 1.06 KB

Versions: 21

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

module Blacklight
  class Configuration::SearchField < Blacklight::Configuration::Field
    # @!attribute include_in_simple_select
    # @!attribute qt
    # @!attribute query_builder
    #   @return [nil, #call] a Proc (or other object responding to #call) that receives as parameters: 1) the search builder, 2) this search field,
    #     and 3) the solr_parameters hash.  The Proc returns a string suitable for e.g. Solr's q parameter, or a 2-element array of the
    #     string and a hash of additional parameters to include with the query (i.e. for referenced subqueries); note that
    #     implementations are responsible for ensuring the additional parameter keys are unique.

    def normalize! blacklight_config = nil
      self.if = include_in_simple_select if self.if.nil?

      super
      self.qt ||= blacklight_config.default_solr_params[:qt] if blacklight_config && blacklight_config.default_solr_params

      self
    end

    def validate!
      raise ArgumentError, "Must supply a search field key" if key.nil?
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
blacklight-8.0.0.beta1 lib/blacklight/configuration/search_field.rb