4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'app/jobs/cleanup_votes_job.rb', line 4
def perform
Community.all.each do |c|
RequestContext. = c
orphan_votes = Vote.all.reject { |v| v.post.present? }
puts "[#{c.name}] destroying #{orphan_votes.length} #{'orphan vote'.pluralize(orphan_votes.length)}"
system_user = User.find(-1)
orphan_votes.each do |v|
result = v.destroy
if result
AuditLog.admin_audit(
comment: "Deleted orphaned vote for user ##{v.recv_user_id} " \
"on post ##{v.post_id} " \
"in community ##{c.id} (#{c.name})",
event_type: 'vote_delete',
related: v,
user: system_user
)
else
puts "[#{c.name}] failed to destroy vote \"#{v.id}\""
v.errors.each { |e| puts e.full_message }
end
end
end
end
|