aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/retweet.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/retweet.rb')
-rw-r--r--app/models/retweet.rb21
1 files changed, 10 insertions, 11 deletions
diff --git a/app/models/retweet.rb b/app/models/retweet.rb
index 521bd3c..a2baf51 100644
--- a/app/models/retweet.rb
+++ b/app/models/retweet.rb
@@ -10,17 +10,16 @@ class Retweet < ActiveRecord::Base
Tweet.update_counters(self.tweet_id, retweets_count: -1, reactions_count: -1)
end
- def self.from_receiver(msg)
- transaction do
- t = Tweet.from_receiver(msg["retweeted_status"])
- u = User.from_receiver(msg["user"])
- r = t.retweets.new(id: msg["id"], user: u)
- r.save_ignore!
- logger.debug("Created Retweet: #{msg["id"]}: #{msg["user"]["id"]} => #{msg["retweeted_status"]["id"]}")
- return r
+ def self.from_json(json)
+ tweet = Tweet.from_json(json[:retweeted_status])
+ user = User.from_json(json[:user])
+ retweet = Retweet.new(tweet: tweet, user: user)
+ if retweet.save
+ logger.debug("Successfully created a retweet: #{retweet.id}")
+ else
+ logger.debug("Failed to create a retweet: #{retweet}")
end
- rescue => e
- logger.error("Unknown error while inserting retweet: #{e.class}: #{e.message}/#{e.backtrace.join("\n")}")
- return nil
+
+ retweet
end
end