Sha256: 5fdf1fc150cda5992c281aba565d8c764b36548b80230b73a67db547279441de
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
# frozen_string_literal: true module Alchemy module Search module SearchPage def self.perform_search(params, ability: nil) search_results = Alchemy.search_class.search(params[:query], ability:) search_results = search_results&.page(params[:page])&.per(paginate_per) if paginate_per.present? # order the documents by searchable_created_at and use the ranking order as second order argument if params[:sort] == "date" search_results.order_values.unshift("pg_search_documents.searchable_created_at DESC") end search_results end def self.paginate_per Alchemy::PgSearch.config[:paginate_per] end def self.search_result_page @search_result_page ||= begin page_layouts = PageLayout.all.select do |page_layout| page_layout.key?(:searchresults) && page_layout[:searchresults].to_s.casecmp(true.to_s).zero? end if page_layouts.nil? raise "No searchresults page layout found. Please add page layout with `searchresults: true` into your `page_layouts.yml` file." end page = Page.published.find_by( page_layout: page_layouts.first["name"], language_id: Language.current.id, ) if page.nil? logger.warn "\n++++++\nNo published search result page found. Please create one or publish your search result page.\n++++++\n" end page end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alchemy-pg_search-6.1.0 | app/services/alchemy/search/search_page.rb |
alchemy-pg_search-6.0.0 | app/services/alchemy/search/search_page.rb |