aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/favorite.rb
diff options
context:
space:
mode:
authorRhenium <rhenium@rhe.jp>2014-01-20 13:02:15 +0900
committerRhenium <rhenium@rhe.jp>2014-01-20 13:02:15 +0900
commitd282b7ef38f3cf42e8d9e4fd104228d0bf95f856 (patch)
treec182289010ed08e16fe8ebdeb25d219999ec2dea /app/models/favorite.rb
parent2ad52ebb033394cb721f55a90af977adfb596a16 (diff)
downloadaclog-d282b7ef38f3cf42e8d9e4fd104228d0bf95f856.tar.gz
update models
Diffstat (limited to 'app/models/favorite.rb')
-rw-r--r--app/models/favorite.rb23
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