module Enjoy::Search::Controllers::Search

Public Instance Methods

index() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 6
def index
  return redirect_to url_for(params) if search_redirecter

  if Enjoy::Search.config.breadcrumbs_on_rails_support
    add_breadcrumb "search",  [:enjoy_search],                  if: :insert_breadcrumbs
    add_breadcrumb "results", [:enjoy_search, {q: params[:q]}], if: :insert_breadcrumbs
  end

  if params[:q].blank?
    @results = []
  else
    @results = search_model_class.page(params[:page]).per(per_page).send(fts_method, query)
  end
end

Private Instance Methods

fts_method() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 28
def fts_method
  :fts
end
insert_breadcrumbs() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 42
def insert_breadcrumbs
  true
end
per_page() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 46
def per_page
  10
end
query() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 50
def query
  params[:q].to_s.gsub(/\P{Word}+/, ' ').gsub(/ +/, ' ').strip
end
search_model_class() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 22
def search_model_class
  if Enjoy::Search.config.pages_support
    Enjoy::Pages::Page
  end
end
search_redirecter() click to toggle source
# File lib/enjoy/search/controllers/search.rb, line 32
def search_redirecter
  if params[:utf8].present? or params[:submit].present? or params[:commit].present?
    params.delete(:utf8)
    params.delete(:submit)
    params.delete(:commit)
    return true
  end
  false
end