Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. # Disable users who have email addresses that are bouncing
  2. class DisableRejectedEmailsJob
  3. include Sidekiq::Worker
  4.  
  5. def perform
  6. now = Time.zone.now
  7.  
  8. target_users = User.enabled.where(email: rejected_emails)
  9. # Load the ids before we update the users or the pluck query will return nothing
  10. target_user_ids = target_users.pluck(:id)
  11.  
  12. target_users.update_all(disabled_at: now)
  13.  
  14. target_user_ids.each { |user_id| track_disabling_of(user_id) }
  15. end
  16.  
  17. private
  18.  
  19. def track_disabling_of(user_id)
  20. Activity.track(
  21. 'user:disable',
  22. target_type: User.name,
  23. target_id: user_id
  24. )
  25. end
  26.  
  27. # Returns an array of email addresses
  28. def rejected_emails
  29. # Logic for pulling recently bounced email address from our mail server
  30. end
  31. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement