diff options
author | Rhenium <rhenium@rhe.jp> | 2014-01-20 13:02:15 +0900 |
---|---|---|
committer | Rhenium <rhenium@rhe.jp> | 2014-01-20 13:02:15 +0900 |
commit | d282b7ef38f3cf42e8d9e4fd104228d0bf95f856 (patch) | |
tree | c182289010ed08e16fe8ebdeb25d219999ec2dea /app/models/favorite.rb | |
parent | 2ad52ebb033394cb721f55a90af977adfb596a16 (diff) | |
download | aclog-d282b7ef38f3cf42e8d9e4fd104228d0bf95f856.tar.gz |
update models
Diffstat (limited to 'app/models/favorite.rb')
-rw-r--r-- | app/models/favorite.rb | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/app/models/favorite.rb b/app/models/favorite.rb index 7d0f1a1..6e3d197 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -10,21 +10,16 @@ class Favorite < ActiveRecord::Base Tweet.update_counters(self.tweet_id, favorites_count: -1, reactions_count: -1) end - def self.from_receiver(msg) - transaction do - t = Tweet.from_receiver(msg["target_object"]) - u = User.from_receiver(msg["source"]) - f = t.favorites.new(user: u) - f.save_ignore! - logger.debug("Created Favorite: #{msg["source"]["id"]} => #{msg["target_object"]["id"]}") - return f + def self.from_json(json) + tweet = Tweet.from_json(json[:target_object]) + user = User.from_json(json[:source]) + favorite = Favorite.new(tweet: tweet, user: user) + if favorite.save + logger.debug("Successfully created a favorite: #{favorite.id}") + else + logger.debug("Failed to create a favorite: #{favorite}") end - rescue => e - logger.error("Unknown error while inserting favorite: #{e.class}: #{e.message}/#{e.backtrace.join("\n")}") - return nil - end - def self.delete_from_receiver(msg) - where(tweet_id: msg["target_object"]["id"], user_id: msg["source"]["id"]).destroy_all + favorite end end |