about summary refs log tree commit diff
path: root/app/models/trending_tags.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2019-08-05 13:13:28 +0200
committerThibaut Girka <thib@sitedethib.com>2019-08-05 13:13:28 +0200
commite50554391aa726afe18ae1c0bc7ccbf69d7b4aec (patch)
treeb0cbd7b46a733f386c458a6f2f818a899f418b21 /app/models/trending_tags.rb
parentff0ceb28b3f1b19a6851a482f8203e434e50f167 (diff)
parent6201bfdfba7626c2b6bc5154dda1f41ee8c3ae71 (diff)
Merge branch 'master' into glitch-soc/merge-upstream
Diffstat (limited to 'app/models/trending_tags.rb')
-rw-r--r--app/models/trending_tags.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/models/trending_tags.rb b/app/models/trending_tags.rb
index 148535c21..211c8f1dc 100644
--- a/app/models/trending_tags.rb
+++ b/app/models/trending_tags.rb
@@ -48,12 +48,17 @@ class TrendingTags
         redis.zrem(key, tag_id.to_s)
       else
         score = ((observed - expected)**2) / expected
-        redis.zadd(key, score, tag_id.to_s)
+        added = redis.zadd(key, score, tag_id.to_s)
+        bump_tag_score!(tag_id) if added
       end
 
       redis.expire(key, EXPIRE_TRENDS_AFTER)
     end
 
+    def bump_tag_score!(tag_id)
+      Tag.where(id: tag_id).update_all('score = COALESCE(score, 0) + 1')
+    end
+
     def disallowed_hashtags
       return @disallowed_hashtags if defined?(@disallowed_hashtags)