Exclude hidden diary entries and comments from spam scoring
authorTom Hughes <tom@compton.nu>
Mon, 26 Feb 2018 22:35:06 +0000 (22:35 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 26 Feb 2018 22:35:06 +0000 (22:35 +0000)
app/models/diary_comment.rb
app/models/user.rb

index 8a99c7b2ce461fdc80ebed2987149f4c2e8e93b1..63eae3f213ee621f7016459271e46af036661a77 100644 (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
 
index 9eeb98290360d58cda7c759ec7b8dc37e6fb754e..1cd8c6d89f439651d5b88f35b04ef2dda887a4a6 100644 (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