From 0bfd201973122f3edda410c540d0af1af71bd50f Mon Sep 17 00:00:00 2001 From: r888888888 Date: Wed, 13 Sep 2017 14:47:42 -0700 Subject: [PATCH] simplify logic --- app/models/favorite.rb | 8 -------- app/models/post.rb | 4 +++- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/app/models/favorite.rb b/app/models/favorite.rb index d8537b029..3b95696c7 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -17,14 +17,6 @@ class Favorite < ApplicationRecord end end - def self.purge_post(post_id, user_ids) - 0.upto(99) do |uid| - Favorite.where("user_id % 100 = ?", uid).delete_all(post_id: post_id) - end - - User.where(:id => user_ids).update_all("favorite_count = favorite_count - 1") - end - def self.remove(user:, post: nil, post_id: nil) Favorite.transaction do if post && post_id.nil? diff --git a/app/models/post.rb b/app/models/post.rb index 1c567b36a..b8960cc26 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1038,7 +1038,9 @@ class Post < ApplicationRecord end def remove_from_favorites - Favorite.delay.purge_post(id, fav_string.scan(/\d+/)) + Favorite.delete_all(post_id: id) + user_ids = fav_string.scan(/\d+/) + User.where(:id => user_ids).update_all("favorite_count = favorite_count - 1") PostVote.where(post_id: id).delete_all end