From 5a6cc8481798760385b0996c29a28ee435615d58 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 2 Aug 2017 18:25:01 -0500 Subject: [PATCH] favorites: don't regen fav count when adding favorites. Don't randomly regen the fav count when favoriting a post. This was a workaround for #1210 that is no longer needed. --- app/models/user.rb | 9 --------- test/unit/user_test.rb | 13 ------------- 2 files changed, 22 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 72f766edd..b2aba2ec8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -286,17 +286,8 @@ class User < ApplicationRecord Favorite.where("user_id % 100 = #{id % 100} and user_id = #{id}").order("id desc") end - def clean_favorite_count? - favorite_count < 0 || Kernel.rand(100) < [Math.log(favorite_count, 2), 5].min - end - - def clean_favorite_count! - update_column(:favorite_count, Favorite.for_user(id).count) - end - def add_favorite!(post) Favorite.add(post: post, user: self) - clean_favorite_count! if clean_favorite_count? end def remove_favorite!(post) diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index c2868596a..1ef2320e6 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -38,19 +38,6 @@ class UserTest < ActiveSupport::TestCase end end - context "favoriting a post" do - setup do - @user.update_column(:favorite_count, 999) - @user.stubs(:clean_favorite_count?).returns(true) - @post = FactoryGirl.create(:post) - end - - should "periodically clean the favorite_count" do - @user.add_favorite!(@post) - assert_equal(1, @user.favorite_count) - end - end - context "that has been invited by a mod" do setup do @mod = FactoryGirl.create(:moderator_user)