aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/tweet.rb
diff options
context:
space:
mode:
authorrhenium <rhenium@rhe.jp>2014-05-19 04:34:01 +0900
committerrhenium <rhenium@rhe.jp>2014-05-19 04:34:01 +0900
commit24ab59b1017c8e13263f43d8ca5b48d44b3a46bd (patch)
treeba32ad85ca02977cd39877e3107a6c6940a355c8 /app/models/tweet.rb
parentb7c0f60ff15982d503379b8fcf78d85751486142 (diff)
downloadaclog-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.rb15
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)