aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/action_mailbox/callbacks.rb2
-rw-r--r--test/unit/mailbox/callbacks_test.rb5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/action_mailbox/callbacks.rb b/lib/action_mailbox/callbacks.rb
index e8bf2ffd55..a5f7aa7e6f 100644
--- a/lib/action_mailbox/callbacks.rb
+++ b/lib/action_mailbox/callbacks.rb
@@ -17,7 +17,7 @@ module ActionMailbox
end
included do
- define_callbacks :process, terminator: TERMINATOR
+ define_callbacks :process, terminator: TERMINATOR, skip_after_callbacks_if_terminated: true
end
module ClassMethods
diff --git a/test/unit/mailbox/callbacks_test.rb b/test/unit/mailbox/callbacks_test.rb
index fccd89b9df..617e8a89b1 100644
--- a/test/unit/mailbox/callbacks_test.rb
+++ b/test/unit/mailbox/callbacks_test.rb
@@ -20,8 +20,10 @@ class BouncingCallbackMailbox < ActionMailbox::Base
before_processing { $before_processing << "Post-bounce" }
+ after_processing { $after_processing = true }
+
def process
- $processed = mail.subject
+ $processed = true
end
end
@@ -43,5 +45,6 @@ class ActionMailbox::Base::CallbacksTest < ActiveSupport::TestCase
assert @inbound_email.bounced?
assert_equal [ "Pre-bounce", "Bounce" ], $before_processing
assert_not $processed
+ assert_not $after_processing
end
end