You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

24 lines
801 B

module JurisprudenceSearch
def jurisprudence_search(search_params)
attrs = %i[id reference_number title docdate ponente edited short_title year].freeze
fulltext_fields = %i[reference_number title short_title].freeze
search = Cdao::Jurisprudence.search do
fulltext search_params[:q], fields: fulltext_fields if search_params[:q].present?
fulltext_fields.each do |field|
fulltext search_params[field], fields: [field] if search_params[field].present?
end
with(:subject_ids).any_of(search_params[:subject_ids].split(",").map(&:strip).map(&:to_i)) if search_params[:subject_ids].present?
order_by :doc_date
order_by :year
paginate page: search_params[:page] || 1, per_page: search_params[:per_page] || 20
end
search
end
end