1
1
namespace :spam do
2
2
task :sweep => :environment do
3
- protips = Protip . where ( 'created_at > ?' , 7 . days . ago ) . where ( bad_content : false )
4
- good = [ ]
3
+ since = 30 . days . ago
4
+
5
+ protips = Protip . where ( 'created_at > ?' , since ) . where ( bad_content : false ) ; nil
6
+ good_protips = [ ]
5
7
protips . each do |p |
6
8
flags = Spaminator . new . protip_flags ( p )
7
9
if flags . any?
8
- puts "#{ p . id } – #{ p . title } – #{ p . body [ 0 ..100 ] . gsub ( "\n " , '' ) } "
9
- puts "#{ flags . inspect } " if flags . any?
10
- puts
10
+ Rails . logger . debug "#{ p . id } – #{ p . title } – #{ p . body [ 0 ..100 ] . gsub ( "\n " , '' ) } "
11
+ Rails . logger . debug "#{ flags . inspect } " if flags . any?
12
+ Rails . logger . debug
11
13
12
14
p . bad_content = true
13
15
p . user . bad_user = true
14
16
p . save
15
17
else
16
- good << p
18
+ good_protips << "https://coderwall.com/p/ #{ p . public_id } – #{ p . title } "
17
19
end
18
- end
20
+ end ; nil
19
21
20
- users = User . where ( 'created_at > ?' , 7 . days . ago ) . where ( bad_user : false )
21
- users . map do |u |
22
+ good_users = [ ]
23
+ users = User . where ( 'created_at > ?' , since ) . where ( bad_user : false ) ; nil
24
+ users . each do |u |
22
25
flags = Spaminator . new . user_flags ( u )
23
26
if flags . any?
24
- puts "#{ u . id } – #{ u . username } – #{ ( u . about || '' ) [ 0 ..100 ] . gsub ( "\n " , '' ) } "
25
- puts "#{ flags . inspect } " if flags . any?
26
- puts
27
+ Rails . logger . debug "#{ u . id } – #{ u . username } – #{ ( u . about || '' ) [ 0 ..100 ] . gsub ( "\n " , '' ) } "
28
+ Rails . logger . debug "#{ flags . inspect } " if flags . any?
29
+ Rails . logger . debug
27
30
28
31
u . bad_user!
29
32
else
30
- good << u
33
+ good_users << "https://coderwall.com/ #{ u . username } "
31
34
end
32
- end
35
+ end ; nil
33
36
34
- puts "Good"
35
- good . each do |e |
36
- puts "#{ e . class } :#{ e . id } – #{ e . try ( :username ) || e . title } "
37
+ [ "Good Users" , good_users , "Good Protips" , good_protips ] . flatten . each do |e |
38
+ Rails . logger . debug e
37
39
end
40
+
41
+ Rails . logger . info ( "spam-sweep bad-users=#{ users . size - good_users . size } /#{ users . size } bad-protips=#{ protips . size - good_protips . size } /#{ protips . size } " )
38
42
end
39
43
end
0 commit comments