Sha256: 0b20358920f624733354682b37032d03d24babcd9a2640de672ac4b43327f7da
Contents?: true
Size: 961 Bytes
Versions: 62
Compression:
Stored size: 961 Bytes
Contents
module Workarea module Search # TODO: v4 - use ProductRulesFiltering and refactor category_ids to # separate module. module CategorizationFiltering def category_ids Array(params[:category_ids]).map(&:to_s) end def category_filters @category_filters ||= ProductRules.new(params[:rules]).to_a end def category_query_clauses return [] if category_filters.blank? && category_ids.blank? results = [] if category_filters.blank? results << { terms: { 'facets.category_id' => category_ids } } elsif category_ids.blank? results.push(*category_filters) else results.push( bool: { should: [ { terms: { 'facets.category_id' => category_ids } }, { bool: { must: category_filters } } ] } ) end results end end end end
Version data entries
62 entries across 62 versions & 1 rubygems