I have simple mailer which sends user weekly digest and rake task which sends to all users this email, and it is pinned to heroku scheduler.
I want to send to user this email each week but only once a week, no matter how many times I run rake send_weekly_digest
Mailer
class DigestMailer < ActionMailer::Base
include Resque::Mailer
default from: "company@email.com"
def weekly_digest(user_id)
@user = User.find(user_id)
mail :to => @user.email, :subject => "Weekly Digest"
end
end
Rake Task
desc "Send weekly email digest"
task send_weekly_digest: :environment do
User.all.each do |user|
DigestMailer.weekly_digest(user.id).deliver
end
end