Sha256: 90f17b0d02e940db9aecae7062896f8973ded3bf75b1ea993a84c2879087d56d

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

module Kinney
  class SearchController < KinneyController
    def index
      if params[:q].present?
        @query = params[:q]
        @fallback_clips = false
        @fallback_people = false
        @clips = Clip.tire.search :load => true do |search|
          search.query do |query|
             query.string @query
          end
          search.sort {by :top_pick, 'desc'}
        end
        @people = Person.tire.search :load => true do |search|
          search.query do |query|
             query.string @query
          end
          search.sort {by :last_name, 'asc'}
        end

        if @clips.blank?
          clips_fallback 
          @fallback_clips = true
        end
        if @people.blank?
          people_fallback 
          @fallback_people = true
        end

      else # show some top pick clips
        clips_fallback
        people_fallback
      end
    end

    private

    def clips_fallback
      @clips = Clip.where(:top_pick => true).limit(10)
    end

    def people_fallback
      @people = Person.with_clips
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kinney-0.0.3 app/controllers/kinney/search_controller.rb
kinney-0.0.2 app/controllers/kinney/search_controller.rb
kinney-0.0.1 app/controllers/kinney/search_controller.rb