Sha256: 047c91e7140214432b26ebd936187a8176981f9868f671543acb72b8dad4eaa0

Contents?: true

Size: 1.22 KB

Versions: 52

Compression:

Stored size: 1.22 KB

Contents

class SearchController < ApplicationController
  include ActionView::Helpers::SanitizeHelper

  RESULTS_SEARCH_PER_PAGE=12
  MIN_QUERY=2
  def index
    @search_result =
      if params[:q].blank? || params[:q].strip.size < MIN_QUERY
        []
      elsif params[:mode].eql? "header_search"
        search :quick
      else
        search :extended
      end

    respond_to do |format|
      format.html {
        if params[:mode] == "header_search"
          render :partial => "header_search"
        end
      }

      format.json {
        json_obj = (
          params[:type].present? ?
          { params[:type].pluralize => @search_result } :
          @search_result
        )

        render :json => json_obj
      }

      format.js
    end
  end

  private

  def search mode
    result = SocialStream::Search.search(params[:q],
                                         current_subject,
                                         :mode => mode,
                                         :key  => params[:type])

    if mode.to_s.eql? "quick"
      result = Kaminari.paginate_array(result).page(1).per(7)
    else
      result = Kaminari.paginate_array(result).page(params[:page]).per(RESULTS_SEARCH_PER_PAGE)
    end

    result
  end
end

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
social_stream-1.1.12 base/app/controllers/search_controller.rb
social_stream-base-1.1.11 app/controllers/search_controller.rb
social_stream-1.1.11 base/app/controllers/search_controller.rb
social_stream-base-1.1.10 app/controllers/search_controller.rb
social_stream-1.1.10 base/app/controllers/search_controller.rb
social_stream-base-1.1.9 app/controllers/search_controller.rb
social_stream-1.1.9 base/app/controllers/search_controller.rb
social_stream-base-1.1.8 app/controllers/search_controller.rb
social_stream-1.1.8 base/app/controllers/search_controller.rb
social_stream-base-1.1.7 app/controllers/search_controller.rb
social_stream-1.1.7 base/app/controllers/search_controller.rb
social_stream-base-1.1.6 app/controllers/search_controller.rb
social_stream-1.1.6 base/app/controllers/search_controller.rb
social_stream-base-1.1.5 app/controllers/search_controller.rb
social_stream-1.1.5 base/app/controllers/search_controller.rb
social_stream-base-1.1.4 app/controllers/search_controller.rb
social_stream-1.1.4 base/app/controllers/search_controller.rb
social_stream-1.1.3 base/app/controllers/search_controller.rb
social_stream-base-1.1.3 app/controllers/search_controller.rb
social_stream-1.1.2 base/app/controllers/search_controller.rb