module Hancock::Search::Controllers::Search
Public Instance Methods
index()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 6 def index return redirect_to url_for(params) if search_redirecter if Hancock::Search.config.breadcrumbs_on_rails_support add_breadcrumb "search", [:hancock_search], if: :insert_breadcrumbs add_breadcrumb "results", [:hancock_search, {q: params[:q]}], if: :insert_breadcrumbs end if params[:q].blank? @results = [] else @results = search_scope ? search_scope.page(params[:page]).per(per_page).send(fts_method, query) : [] end end
Private Instance Methods
fts_method()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 30 def fts_method :fts end
per_page()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 48 def per_page 10 end
query()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 52 def query params[:q].to_s.gsub(/\P{Word}+/, ' ').gsub(/ +/, ' ').strip end
search_model_class()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 22 def search_model_class Hancock::Pages::Page if Hancock::Search.config.pages_support end
search_redirecter()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 34 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
search_scope()
click to toggle source
# File lib/hancock/search/controllers/search.rb, line 26 def search_scope search_model_class.enabled if search_model_class end