Adds logic to send proposal notifications in batches

WIP batches tests
This commit is contained in:
María Checa
2018-05-24 17:53:16 +02:00
committed by decabeza
parent 9264763ec5
commit b7a1599fdf
6 changed files with 150 additions and 6 deletions

View File

@@ -14,9 +14,11 @@ class EmailDigest
notifications.any?
end
def deliver
if pending_notifications?
Mailer.proposal_notification_digest(user, notifications.to_a).deliver_later
def deliver(run_at)
if valid_email? && pending_notifications?
Mailer.delay(run_at: run_at).proposal_notification_digest(user, notifications.to_a)
mark_as_emailed
end
end
@@ -25,4 +27,8 @@ class EmailDigest
user.update(failed_email_digests_count: 0)
end
def valid_email?
user.email.match(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i)
end
end