aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
authorRhenium <rhenium@rhe.jp>2014-02-09 18:27:31 +0900
committerRhenium <rhenium@rhe.jp>2014-02-09 18:27:31 +0900
commit5975ed19470c2eac079024fcafb56e18d6ecec74 (patch)
tree6c90ba08c94ab5f4f620f8c314c6b7d0425517e3 /app/controllers/users_controller.rb
parent606054adb73efed232935073a219313e15aa4bba (diff)
downloadaclog-5975ed19470c2eac079024fcafb56e18d6ecec74.tar.gz
rewrite APIs with Grape and RABL
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb47
1 files changed, 2 insertions, 45 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 95b4626..611e106 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -1,63 +1,20 @@
class UsersController < ApplicationController
- param_group :user do
- optional :id, 15926668, "The numerical ID of the user for whom to return results for."
- optional :screen_name, "toshi_a", "The username of the user for whom to return results for."
- end
-
- get "users/stats"
- description "Returns the stats of a user, specified by username or user ID."
- param_group :user
def stats
@user = require_user
end
- get "users/discovered_by"
- description "Returns the list of the users who discovored the Tweets of a user, specified by username or user ID."
- param_group :user
def discovered_by
@user = require_user
authorize_to_show_user_best! @user
@result = @user.count_discovered_by.take(Settings.users.count)
-
- respond_to do |format|
- format.html do
- @cached_users = Hash[User.find(@result.map {|user_id, count| user_id }).map {|user| [user.id, user] }]
- end
-
- format.json do
- render "_users_list"
- end
- end
+ @cached_users = Hash[User.find(@result.map {|user_id, count| user_id }).map {|user| [user.id, user] }]
end
- get "users/discovered_users"
- description "Returns the list of the users discovored by a user, specified by username or user ID."
- param_group :user
def discovered_users
@user = require_user
authorize_to_show_user_best! @user
@result = @user.count_discovered_users.take(Settings.users.count)
-
- respond_to do |format|
- format.html do
- @cached_users = Hash[User.find(@result.map {|user_id, count| user_id }).map {|user| [user.id, user] }]
- end
-
- format.json do
- render "_users_list"
- end
- end
- end
-
- get "users/screen_name"
- nodoc
- [:id, :ids, :user_id, :user_ids].each do |n|
- optional n, "230367516,280414022", "A comma-separated list of User IDs."
- end
- def screen_name
- user_ids = (params[:id] || params[:ids] || params[:user_id] || params[:user_ids]).split(",").map { |i| i.to_i }
- result = User.where(id: user_ids).pluck(:id, :screen_name).map { |id, screen_name| { id: id, screen_name: screen_name } }
- render json: result
+ @cached_users = Hash[User.find(@result.map {|user_id, count| user_id }).map {|user| [user.id, user] }]
end
private