Sha256: d33b476c57bc2182ae8b7b661883c4c95e32908b154311945007735d78e62e91

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

module Enjoy::Search
  module Controllers
    module Search
      extend ActiveSupport::Concern

      def index
        if search_redirecter
          return redirect_to url_for(params)
        end

        if defined?(BreadcrumbsOnRails)
          add_breadcrumb "search",  [:enjoy_search]
        end

        if params[:q].blank?
          @results = []
        else
          query = params[:q].to_s.gsub(/\P{Word}+/, ' ').gsub(/ +/, ' ').strip
          @results = search_model_class.page(params[:page]).per(10).send(fts_method, query)
        end

        if defined?(BreadcrumbsOnRails)
          add_breadcrumb "results", [:enjoy_search, {q: params[:q]}]
        end
      end

      private
      def search_model_class
        Enjoy::Catalog::Item
      end

      def fts_method
        :fts
      end

      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

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
enjoy_cms_search-0.4.0 lib/enjoy/search/controllers/search.rb
enjoy_cms_search-0.4.0.beta3 lib/enjoy/search/controllers/search.rb