aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb61
1 files changed, 31 insertions, 30 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index dbd1206..8f932b3 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -1,17 +1,18 @@
class UsersController < ApplicationController
- before_filter :force_page, :only => [:best, :recent]
- before_filter :require_user, :except => [:show, :favoriters]
- before_filter :include_user_b, :only => [:favorited_by, :retweeted_by, :given_favorites_to, :given_retweets_to]
+ before_filter :force_page, only: [:best, :recent]
+ before_filter :require_user, except: [:show, :favoriters]
+ before_filter :require_tweet, only: [:show, :favoriters]
+ before_filter :include_user_b, only: [:favorited_by, :retweeted_by, :given_favorites_to, :given_retweets_to]
after_filter :check_protected
def best
@title = "@#{@user.screen_name}'s Best Tweets"
render_timeline do
- case order
- when :favorite
+ case params[:order]
+ when /^fav/
@user.tweets.reacted.order_by_favorites
- when :retweet
+ when /^re?t/
@user.tweets.reacted.order_by_retweets
else
@user.tweets.reacted.order_by_reactions
@@ -23,10 +24,10 @@ class UsersController < ApplicationController
@title = "@#{@user.screen_name}'s Recent Best Tweets"
render_timeline do
- case order
- when :favorite
+ case params[:order]
+ when /^fav/
@user.tweets.recent.reacted.order_by_favorites
- when :retweet
+ when /^re?t/
@user.tweets.recent.reacted.order_by_retweets
else
@user.tweets.recent.reacted.order_by_reactions
@@ -65,8 +66,6 @@ class UsersController < ApplicationController
raise Aclog::Exceptions::UserNotRegistered unless @user.registered?
@title = "@#{@user.screen_name} (#{@user.name})'s Profile"
-
- @include_user_stats = true
end
def favorited_by
@@ -102,10 +101,6 @@ class UsersController < ApplicationController
end
def show
- tweet_id = params[:id].to_i
- @item = Tweet.where(:id => tweet_id).first
-
- raise Aclog::Exceptions::TweetNotFound unless @item
@user = @item.user
# import 100
@@ -113,21 +108,14 @@ class UsersController < ApplicationController
session[:account].import_favorites(@item.id)
end
- helpers = ApplicationController.helpers
- @title = "\"#{helpers.strip_tags(helpers.format_tweet_text(@item.text))[0...30]}\" from @#{@user.screen_name}"
+ text = ApplicationController.helpers.format_tweet_text(@item.text)[0...30]
+ @title = "\"#{text}\" from @#{@user.screen_name}"
@title_b = "@#{@user.screen_name}'s Tweet"
-
- @full = get_bool(params[:full])
end
# only json
def favoriters
- tweet_id = params[:id].to_i
- @item = Tweet.where(:id => tweet_id).first
-
- raise Aclog::Exceptions::TweetNotFound unless @item
-
- render json: @item.favorites.map{|f| f.user_id}
+ render json: @item.favorites.load.map{|f| f.user_id}
end
private
@@ -165,7 +153,7 @@ class UsersController < ApplicationController
.inject(Hash.new(0)){|hash, obj| hash[obj.user_id] += 1; hash}
.sort_by{|id, count| -count}
- render "shared/users"
+ render "shared/user_ranking"
end
def render_user_to_user
@@ -187,6 +175,10 @@ class UsersController < ApplicationController
end
end
+ def force_page
+ params[:page] = "1" unless page
+ end
+
def require_user
if params[:screen_name] == "me"
if session[:user_id]
@@ -215,16 +207,25 @@ class UsersController < ApplicationController
end
if !user_b && params[:screen_name_b]
- user_b = User.where(:screen_name => params[:screen_name_b]).first
+ user_b = User.where(screen_name: params[:screen_name_b]).first
end
@user_b = user_b
end
+ def require_tweet
+ tweet_id = params[:id].to_i
+ item = Tweet.where(id: tweet_id).first
+
+ raise Aclog::Exceptions::TweetNotFound unless item
+
+ @item = item
+ end
+
def check_protected
- if @user && @user.protected? && !@user.registered?
- unless session[:account] && session[:account].user_id == @user.id
- raise Aclog::Exceptions::UserProtected if @user.protected
+ if @user && @user.protected?
+ if !@user.registered? || !session[:account] || session[:account].user_id != @user.id
+ raise Aclog::Exceptions::UserProtected
end
end
end