diff options
author | Rhenium <rhenium@rhe.jp> | 2014-02-09 18:27:31 +0900 |
---|---|---|
committer | Rhenium <rhenium@rhe.jp> | 2014-02-09 18:27:31 +0900 |
commit | 5975ed19470c2eac079024fcafb56e18d6ecec74 (patch) | |
tree | 6c90ba08c94ab5f4f620f8c314c6b7d0425517e3 /app/controllers/users_controller.rb | |
parent | 606054adb73efed232935073a219313e15aa4bba (diff) | |
download | aclog-5975ed19470c2eac079024fcafb56e18d6ecec74.tar.gz |
rewrite APIs with Grape and RABL
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r-- | app/controllers/users_controller.rb | 47 |
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 |