class Blacklight::SearchState::PivotFilterField::QueryBuilder

Public Class Methods

call(search_builder, filter, solr_parameters) click to toggle source

@return [Array] filter_query, subqueries

# File lib/blacklight/search_state/pivot_filter_field.rb, line 94
def self.call(search_builder, filter, solr_parameters)
  existing = solr_parameters['fq']&.dup || []
  queries = []
  filter.values.compact_blank.each do |value|
    queries << search_builder.send(:facet_value_to_fq_string, filter.pivot.first, value.value)
    value.fq.each do |entry|
      k, v = entry
      queries << search_builder.send(:facet_value_to_fq_string, k, v) if v
    end
    queries.uniq!
  end
  [(queries - existing)]
end