aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib
diff options
context:
space:
mode:
authorAditya Sanghi <asanghi@me.com>2012-07-30 23:57:20 +0530
committerAditya Sanghi <asanghi@me.com>2012-07-30 23:57:20 +0530
commit7c8424e057b53cf12ce1c748b09601e720be6a09 (patch)
treeda3aa256add354a3a23f2461ac494d8ecb102a99 /actionmailer/lib
parent4ac81de52fbcdabc68f6d1fa8a5ee9ff7fff7df1 (diff)
downloadrails-7c8424e057b53cf12ce1c748b09601e720be6a09.tar.gz
rails-7c8424e057b53cf12ce1c748b09601e720be6a09.tar.bz2
rails-7c8424e057b53cf12ce1c748b09601e720be6a09.zip
allow perform deliveries to be set within mailer action
Diffstat (limited to 'actionmailer/lib')
-rw-r--r--actionmailer/lib/action_mailer/base.rb2
-rw-r--r--actionmailer/lib/action_mailer/delivery_methods.rb4
2 files changed, 3 insertions, 3 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index 150d435140..f0b1fcbe63 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -684,7 +684,7 @@ module ActionMailer #:nodoc:
m.charset = charset = headers[:charset]
# Set configure delivery behavior
- wrap_delivery_behavior!(headers.delete(:delivery_method))
+ wrap_delivery_behavior!(headers.delete(:delivery_method),headers.delete(:perform_deliveries))
# Assign all headers except parts_order, content_type and body
assignable = headers.except(:parts_order, :content_type, :body, :template_name, :template_path)
diff --git a/actionmailer/lib/action_mailer/delivery_methods.rb b/actionmailer/lib/action_mailer/delivery_methods.rb
index 3b38dbccc7..0b8d0019eb 100644
--- a/actionmailer/lib/action_mailer/delivery_methods.rb
+++ b/actionmailer/lib/action_mailer/delivery_methods.rb
@@ -57,7 +57,7 @@ module ActionMailer
self.delivery_methods = delivery_methods.merge(symbol.to_sym => klass).freeze
end
- def wrap_delivery_behavior(mail, method=nil) #:nodoc:
+ def wrap_delivery_behavior(mail, method=nil, perform_deliveries_header=nil) #:nodoc:
method ||= self.delivery_method
mail.delivery_handler = self
@@ -74,7 +74,7 @@ module ActionMailer
mail.delivery_method(method)
end
- mail.perform_deliveries = perform_deliveries
+ mail.perform_deliveries = perform_deliveries && (perform_deliveries_header.nil? || perform_deliveries_header)
mail.raise_delivery_errors = raise_delivery_errors
end
end