From afc758297c553de467b0c434330cb703d62795f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim=20and=20Mikel=20Lindsaar?= Date: Sun, 24 Jan 2010 12:30:13 +1100 Subject: Moving AS::Notifications call to one location in base --- actionmailer/lib/action_mailer/deprecated_api.rb | 16 +++++++--------- actionmailer/test/base_test.rb | 7 ++----- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/actionmailer/lib/action_mailer/deprecated_api.rb b/actionmailer/lib/action_mailer/deprecated_api.rb index a9ebd70f86..a2fa481d0e 100644 --- a/actionmailer/lib/action_mailer/deprecated_api.rb +++ b/actionmailer/lib/action_mailer/deprecated_api.rb @@ -83,19 +83,17 @@ module ActionMailer # email.set_some_obscure_header "frobnicate" # MyMailer.deliver(email) def deliver(mail) + return if @mail_was_called raise "no mail object available for delivery!" unless mail - ActiveSupport::Notifications.instrument("action_mailer.deliver", :mailer => self.name) do |payload| - self.set_payload_for_mail(payload, mail) + mail.register_for_delivery_notification(self) - mail.delivery_method delivery_methods[delivery_method], - delivery_settings[delivery_method] - - mail.raise_delivery_errors = raise_delivery_errors - mail.perform_deliveries = perform_deliveries - mail.deliver - end + mail.delivery_method delivery_methods[delivery_method], + delivery_settings[delivery_method] + mail.raise_delivery_errors = raise_delivery_errors + mail.perform_deliveries = perform_deliveries + mail.deliver mail end diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb index 43a9fb29bb..0b650e9a28 100644 --- a/actionmailer/test/base_test.rb +++ b/actionmailer/test/base_test.rb @@ -325,15 +325,12 @@ class BaseTest < ActiveSupport::TestCase end test "ActionMailer should be told when Mail gets delivered" do + BaseMailer.deliveries.clear BaseMailer.expects(:delivered_email).once email = BaseMailer.deliver_welcome + assert_equal(1, BaseMailer.deliveries.length) end - # test "ActionMailer should be told when Mail gets delivered using new API" do - # BaseMailer.expects(:delivered_email).once - # email = BaseMailer.welcome.deliver - # end - protected # Execute the block setting the given values and restoring old values after -- cgit v1.2.3