File tree 3 files changed +29
-4
lines changed
3 files changed +29
-4
lines changed Original file line number Diff line number Diff line change @@ -7,9 +7,12 @@ class SkillsData < ActiveRecord::Base
7
7
8
8
belongs_to :user
9
9
10
- def self . remove_spam
10
+ def self . remove_spam!
11
11
%w{ nike porn shoes wrestling dating href HREF herf watches blackjack poker } . each do |term |
12
- find ( :all , :conditions => "keywords like '%#{ term } %'" ) . each { |s | s . destroy }
12
+ find ( :all , :conditions => "keywords like '%#{ term } %'" ) . each do |s |
13
+ s . user . mark_as_deleted!
14
+ s . destroy
15
+ end
13
16
end
14
17
end
15
18
Original file line number Diff line number Diff line change @@ -21,8 +21,16 @@ class Snippet < ActiveRecord::Base
21
21
belongs_to :user , :foreign_key => 'created_by'
22
22
has_many :snippet_versions , :dependent => :destroy
23
23
24
- def self . inheritance_column
25
- nil
24
+ self . inheritance_column = :__unused__
25
+
26
+ def self . remove_spam!
27
+ %w{ nike Nike shoes } . each do |term |
28
+ find ( :all , :conditions => "description like '%#{ term } %'" ) . each do |s |
29
+ s . user . mark_as_deleted!
30
+ s . destroy
31
+ end
32
+ end
33
+
26
34
end
27
35
28
36
def snippet_type
Original file line number Diff line number Diff line change @@ -22,6 +22,20 @@ namespace :rubyforge do
22
22
end
23
23
end
24
24
end
25
+
26
+ def despam ( clazz )
27
+ before = clazz . count
28
+ clazz . remove_spam!
29
+ after = clazz . count
30
+ puts "Removed #{ before -after } spam #{ clazz } records"
31
+ end
32
+
33
+ desc "Remove spam and spammers"
34
+ task :remove_spam => :environment do
35
+ [ Snippet , SkillsData ] . each do |clazz |
36
+ despam clazz
37
+ end
38
+ end
25
39
26
40
end
27
41
You can’t perform that action at this time.
0 commit comments