diff options
author | rhenium <rhenium@rhe.jp> | 2014-05-19 06:27:32 +0900 |
---|---|---|
committer | rhenium <rhenium@rhe.jp> | 2014-05-19 06:27:32 +0900 |
commit | ebfc5a3faa8e7fa5eb26cddeb502f71ea6dd6e5e (patch) | |
tree | 0d00a50f02af7c9acbca382ef8ec8c6195e00fc8 /app/models/tweet.rb | |
parent | 1d5f8cbea05bd18801cb5402fa9d013572626df2 (diff) | |
download | aclog-ebfc5a3faa8e7fa5eb26cddeb502f71ea6dd6e5e.tar.gz |
api: deprecate api/tweets/user_discover*
Diffstat (limited to 'app/models/tweet.rb')
-rw-r--r-- | app/models/tweet.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/models/tweet.rb b/app/models/tweet.rb index 3dc7ccd..9f769d2 100644 --- a/app/models/tweet.rb +++ b/app/models/tweet.rb @@ -26,6 +26,18 @@ class Tweet < ActiveRecord::Base scope :favorited_by, ->(user) { joins(:favorites).where(favorites: { user: user }) } + # deprecated + scope :discovered_by, ->(user) { + load_count = all.limit_value.to_i + all.offset_value.to_i + load_count = nil if load_count == 0 + + un = [:favorites, :retweets].map {|m| + user.__send__(m).select(:tweet_id).order(tweet_id: :desc).limit(load_count) + }.map {|m| "(#{m.to_sql})" }.join(" UNION ") + + joins("INNER JOIN ((#{un})) reactions ON reactions.tweet_id = tweets.id") + } + class << self def initialize_from_json(json, ignore_relation: false) tweet = self.new(id: json[:id], |