diff options
author | rhenium <rhenium@rhe.jp> | 2014-05-19 04:34:01 +0900 |
---|---|---|
committer | rhenium <rhenium@rhe.jp> | 2014-05-19 04:34:01 +0900 |
commit | 24ab59b1017c8e13263f43d8ca5b48d44b3a46bd (patch) | |
tree | ba32ad85ca02977cd39877e3107a6c6940a355c8 /app/models/tweet.rb | |
parent | b7c0f60ff15982d503379b8fcf78d85751486142 (diff) | |
download | aclog-24ab59b1017c8e13263f43d8ca5b48d44b3a46bd.tar.gz |
web: remove tweets#user_discoveries and tweets#user_discovered_by and create tweets#user_favorites and tweets#user_favorited_by.
Diffstat (limited to 'app/models/tweet.rb')
-rw-r--r-- | app/models/tweet.rb | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/app/models/tweet.rb b/app/models/tweet.rb index 80e3c73..3dc7ccd 100644 --- a/app/models/tweet.rb +++ b/app/models/tweet.rb @@ -17,25 +17,14 @@ class Tweet < ActiveRecord::Base scope :not_protected, -> { joins(:user).references(:user).where(users: { protected: false }) } scope :registered, -> { joins(user: :account).references(:account).merge(Account.active) } - scope :max_id, -> id { where("tweets.id <= ?", id.to_i) if id } - scope :since_id, -> id { where("tweets.id > ?", id.to_i) if id } + scope :max_id, ->(id) { where("tweets.id <= ?", id.to_i) if id } + scope :since_id, ->(id) { where("tweets.id > ?", id.to_i) if id } scope :page, ->(page, page_per) { limit(page_per).offset((page - 1) * page_per) } scope :order_by_id, -> { order(id: :desc) } scope :order_by_reactions, -> { order(reactions_count: :desc) } scope :favorited_by, ->(user) { joins(:favorites).where(favorites: { user: user }) } - scope :retweeted_by, ->(user) { joins(:retweets).where(retweets: { user: user }) } - 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) |