aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/tweet.rb
diff options
context:
space:
mode:
authorRhenium <rhenium@rhe.jp>2014-01-31 06:16:27 +0900
committerRhenium <rhenium@rhe.jp>2014-01-31 06:16:27 +0900
commit3f918500e669863515f88e904789d1d3c5cd1ed8 (patch)
tree32f2753333374e5123469317f7ec73999f79ef02 /app/models/tweet.rb
parent8f5344c5e7190e97808fbc2a6b4d62b3d9c0d30e (diff)
downloadaclog-3f918500e669863515f88e904789d1d3c5cd1ed8.tar.gz
fix single tweet importing
Diffstat (limited to 'app/models/tweet.rb')
-rw-r--r--app/models/tweet.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/app/models/tweet.rb b/app/models/tweet.rb
index 898656e..61736f0 100644
--- a/app/models/tweet.rb
+++ b/app/models/tweet.rb
@@ -59,11 +59,15 @@ class Tweet < ActiveRecord::Base
end
def self.from_twitter_object(obj)
- tweet = from_json(obj.attrs)
- tweet.update!(favorites_count: obj.favorite_count,
- retweets_count: obj.retweet_count,
- reactions_count: obj.favorite_count + obj.retweet_count)
- tweet
+ transaction do
+ tweet = from_json(obj.attrs)
+ favs = [obj.favorite_count, tweet.favorites_count].max
+ rts = [obj.retweet_count, tweet.retweets_count].max
+ tweet.update!(favorites_count: favs,
+ retweets_count: rts,
+ reactions_count: favs + rts)
+ tweet
+ end
end
def self.filter_by_query(query)