mirror of https://github.com/rails/rails
Don't mutate the Base settings by merge!ing the given value
This commit is contained in:
parent
05f88b7b04
commit
0c93a48904
|
@ -64,7 +64,7 @@ module ActionMailer
|
|||
raise "Delivery method cannot be nil"
|
||||
when Symbol
|
||||
if klass = delivery_methods[method]
|
||||
mail.delivery_method(klass,(send(:"#{method}_settings") || {}).merge!(options || {}))
|
||||
mail.delivery_method(klass, (send(:"#{method}_settings") || {}).merge(options || {}))
|
||||
else
|
||||
raise "Invalid delivery method #{method.inspect}"
|
||||
end
|
||||
|
|
|
@ -152,6 +152,9 @@ class MailDeliveryTest < ActiveSupport::TestCase
|
|||
assert_equal "overridden", delivery_method_instance.settings[:user_name]
|
||||
assert_equal "somethingobtuse", delivery_method_instance.settings[:password]
|
||||
assert_equal delivery_method_instance.settings.merge(overridden_options), delivery_method_instance.settings
|
||||
|
||||
# make sure that overriding delivery method options per mail instance doesn't affect the Base setting
|
||||
assert_equal settings, ActionMailer::Base.smtp_settings
|
||||
end
|
||||
|
||||
test "non registered delivery methods raises errors" do
|
||||
|
|
Loading…
Reference in New Issue