instance method
enqueue_delivery
Ruby on Rails 6.0.6
Since v4.2.9 PrivateSignature
enqueue_delivery(delivery_method, options = {})
No documentation comment.
Parameters
-
delivery_methodreq -
optionsopt = {}
Source
# File actionmailer/lib/action_mailer/message_delivery.rb, line 128
def enqueue_delivery(delivery_method, options = {})
if processed?
::Kernel.raise "You've accessed the message before asking to " \
"deliver it later, so you may have made local changes that would " \
"be silently lost if we enqueued a job to deliver it. Why? Only " \
"the mailer method *arguments* are passed with the delivery job! " \
"Do not access the message in any way if you mean to deliver it " \
"later. Workarounds: 1. don't touch the message before calling " \
"#deliver_later, 2. only touch the message *within your mailer " \
"method*, or 3. use a custom Active Job instead of #deliver_later."
else
job = @mailer_class.delivery_job
if job <= MailDeliveryJob
job.set(options).perform_later(
@mailer_class.name, @action.to_s, delivery_method.to_s, args: @args)
else
job.set(options).perform_later(
@mailer_class.name, @action.to_s, delivery_method.to_s, *@args)
end
end
end
Defined in actionmailer/lib/action_mailer/message_delivery.rb line 128
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionMailer::MessageDelivery