Exclude hidden diary entries and comments from spam scoring

This commit is contained in:
Tom Hughes 2018-02-26 22:35:06 +00:00
parent f9eccfe64f
commit 81241b3083
2 changed files with 4 additions and 2 deletions

View file

@ -26,6 +26,8 @@ class DiaryComment < ActiveRecord::Base
belongs_to :user
belongs_to :diary_entry
scope :visible, -> { where(:visible => true) }
validates :body, :presence => true
validates :diary_entry, :user, :associated => true

View file

@ -261,8 +261,8 @@ class User < ActiveRecord::Base
def spam_score
changeset_score = changesets.size * 50
trace_score = traces.size * 50
diary_entry_score = diary_entries.inject(0) { |acc, elem| acc + elem.body.spam_score }
diary_comment_score = diary_comments.inject(0) { |acc, elem| acc + elem.body.spam_score }
diary_entry_score = diary_entries.visible.inject(0) { |acc, elem| acc + elem.body.spam_score }
diary_comment_score = diary_comments.visible.inject(0) { |acc, elem| acc + elem.body.spam_score }
score = description.spam_score / 4.0
score += diary_entries.where("created_at > ?", 1.day.ago).count * 10