Files
libr-2/app/controllers/api/v1/em_sources_controller.rb
T
2015-12-16 22:23:54 +08:00

32 lines
1.2 KiB
Ruby

class Api::V1::EmSourcesController < ApplicationController
skip_before_action :authenticate_user_from_token
def hottest_users
user_ids = FollowRelation.group(:star_id).count.keys.reverse
paginated_ids = Kaminari.paginate_array(user_ids).page(params[:page]).per(25)
render json: User.find(paginated_ids).index_by(&:id).slice(*paginated_ids).values, each_serializer: EMUserSerializer
end
def activest_users
user_ids = ShareInstance.group(:user_id).count.keys.reverse
paginated_ids = Kaminari.paginate_array(user_ids).page(params[:page]).per(25)
records = User.find(paginated_ids).group_by(&:id)
sorted_records = paginated_ids.map { |id| records[id].first }
render json: sorted_records, each_serializer: EMUserSerializer
end
def hottest_posts_in_month
posts = Post.where(type: 'Article', created_at: ((Time.now.midnight - 1.month)..Time.now.midnight)).order('viewed_times DESC')
render json: posts.page(params[:page]), each_serializer: EMPostSerializer
end
def most_loved_posts_in_month
posts = Post.where(type: 'Article', created_at: ((Time.now.midnight - 1.month)..Time.now.midnight)).order('likes_count DESC')
render json: posts.page(params[:page]), each_serializer: EMPostSerializer
end
end