aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/favorite.rb
diff options
context:
space:
mode:
authorRhenium <rhenium@rhe.jp>2014-01-17 20:13:16 +0900
committerRhenium <rhenium@rhe.jp>2014-01-17 20:13:16 +0900
commitad42e7d84080040ae026aa6e23044626e4f7404d (patch)
tree9b6dbbb60f7a32d090d6ed3682e29c02b3e18b65 /app/models/favorite.rb
parent570f0b703878a61fd8bbaeeade08bb2c9a766794 (diff)
downloadaclog-ad42e7d84080040ae026aa6e23044626e4f7404d.tar.gz
use INSERT IGNORE INTO ... when creating favorites/retweets
Diffstat (limited to 'app/models/favorite.rb')
-rw-r--r--app/models/favorite.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/app/models/favorite.rb b/app/models/favorite.rb
index 08ee580..7d0f1a1 100644
--- a/app/models/favorite.rb
+++ b/app/models/favorite.rb
@@ -14,13 +14,11 @@ class Favorite < ActiveRecord::Base
transaction do
t = Tweet.from_receiver(msg["target_object"])
u = User.from_receiver(msg["source"])
- f = t.favorites.create!(user: u)
+ f = t.favorites.new(user: u)
+ f.save_ignore!
logger.debug("Created Favorite: #{msg["source"]["id"]} => #{msg["target_object"]["id"]}")
return f
end
- rescue ActiveRecord::RecordNotUnique
- logger.debug("Duplicate Favorite: #{msg["source"]["id"]} => #{msg["target_object"]["id"]}")
- return nil
rescue => e
logger.error("Unknown error while inserting favorite: #{e.class}: #{e.message}/#{e.backtrace.join("\n")}")
return nil