aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2019-01-09 13:08:53 -0500
committerGitHub <noreply@github.com>2019-01-09 13:08:53 -0500
commit9f1a07af0499080c9fd8815705a03a4c7e8fb506 (patch)
tree71b36740c2872481182ea6ffedbac9505b8214ab /actionmailer/lib
parent28bb21bf5aaf5ed8b7b1ca8fc51aad6ca89f1f73 (diff)
parent5d6578d15bb5d3bfe3751a6493b9e3fe99618408 (diff)
downloadrails-9f1a07af0499080c9fd8815705a03a4c7e8fb506.tar.gz
rails-9f1a07af0499080c9fd8815705a03a4c7e8fb506.tar.bz2
rails-9f1a07af0499080c9fd8815705a03a4c7e8fb506.zip
Merge pull request #34692 from gmcgibbon/use_mail_delivery_job_in_6.0_defaults
Move MailDeliveryJob default to 6.0 defaults
Diffstat (limited to 'actionmailer/lib')
-rw-r--r--actionmailer/lib/action_mailer/base.rb2
-rw-r--r--actionmailer/lib/action_mailer/parameterized.rb10
-rw-r--r--actionmailer/lib/action_mailer/railtie.rb4
3 files changed, 14 insertions, 2 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index 650dd8bbda..5610212fad 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -461,7 +461,7 @@ module ActionMailer
helper ActionMailer::MailHelper
- class_attribute :delivery_job, default: ::ActionMailer::MailDeliveryJob
+ class_attribute :delivery_job, default: ::ActionMailer::DeliveryJob
class_attribute :default_params, default: {
mime_version: "1.0",
charset: "UTF-8",
diff --git a/actionmailer/lib/action_mailer/parameterized.rb b/actionmailer/lib/action_mailer/parameterized.rb
index 999435919e..0a97af8105 100644
--- a/actionmailer/lib/action_mailer/parameterized.rb
+++ b/actionmailer/lib/action_mailer/parameterized.rb
@@ -145,12 +145,20 @@ module ActionMailer
if processed?
super
else
- job = @mailer_class.delivery_job
+ job = delivery_job_class
args = arguments_for(job, delivery_method)
job.set(options).perform_later(*args)
end
end
+ def delivery_job_class
+ if @mailer_class.delivery_job <= MailDeliveryJob
+ @mailer_class.delivery_job
+ else
+ Parameterized::DeliveryJob
+ end
+ end
+
def arguments_for(delivery_job, delivery_method)
if delivery_job <= MailDeliveryJob
[@mailer_class.name, @action.to_s, delivery_method.to_s, params: @params, args: @args]
diff --git a/actionmailer/lib/action_mailer/railtie.rb b/actionmailer/lib/action_mailer/railtie.rb
index bb6141b406..23488db790 100644
--- a/actionmailer/lib/action_mailer/railtie.rb
+++ b/actionmailer/lib/action_mailer/railtie.rb
@@ -46,6 +46,10 @@ module ActionMailer
register_preview_interceptors(options.delete(:preview_interceptors))
register_observers(options.delete(:observers))
+ if delivery_job = options.delete(:delivery_job)
+ self.delivery_job = delivery_job.constantize
+ end
+
options.each { |k, v| send("#{k}=", v) }
end