Permalink
Browse files

Use counter caches to improve spam scoring

Now that we have the counter caches we can take all edits and traces
into account without incurring the cost of having to scan the database
to count them all.
  • Loading branch information...
1 parent 4cf82d1 commit ec6f14df0ce68192b9815a3895d1cc2737f23b6b @tomhughes tomhughes committed Nov 12, 2012
Showing with 2 additions and 2 deletions.
  1. +2 −2 app/models/user.rb
View
@@ -207,8 +207,8 @@ def delete
##
# return a spam score for a user
def spam_score
- changeset_score = self.changesets.limit(10).length * 50
- trace_score = self.traces.limit(10).length * 50
+ changeset_score = self.changesets.size * 50
+ trace_score = self.traces.size * 50
diary_entry_score = self.diary_entries.inject(0) { |s,e| s += e.body.spam_score }
diary_comment_score = self.diary_comments.inject(0) { |s,c| s += c.body.spam_score }

0 comments on commit ec6f14d

Please sign in to comment.