Skip to content

Commit

Permalink
Add feeling lucky query with ! directive
Browse files Browse the repository at this point in the history
  • Loading branch information
rwdaigle committed Oct 9, 2012
1 parent e7b106f commit 5fc3237
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion app/controllers/gists_controller.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -4,16 +4,34 @@ class GistsController < ApplicationController


before_filter :force_user_login before_filter :force_user_login


JUMP_CHAR = '!'

def index def index
@gists = current_user.gists.order("gh_created_at DESC").includes(:files) @gists = current_user.gists.order("gh_created_at DESC").includes(:files)
end end


def search def search
@results = Gist.search(current_user, params[:q]) @results = Gist.search(current_user, normalized_query)
if(feeling_lucky_directive? && lucky_result = @results.first)
redirect_to lucky_result.url
log({ns: self.class, fn: __method__, measure: true, at: 'auto-jump', query: params[:q]}, {:'redirect-to' => lucky_result.url}, current_user)
end
end end


def refresh def refresh
QC.enqueue("GistFetcher.fetch_user", current_user.id) QC.enqueue("GistFetcher.fetch_user", current_user.id)
redirect_to search_gists_path redirect_to search_gists_path
end end

private

# Strip navigational search directives ("!") without modifying original query param
def normalized_query
@normalized_query ||= feeling_lucky_directive? ? params[:q][0..-2] : params[:q]
end

def feeling_lucky_directive?
params[:q] && JUMP_CHAR == params[:q].last
end

end end

0 comments on commit 5fc3237

Please sign in to comment.