diff options
author | George Claghorn <george@basecamp.com> | 2018-10-03 16:04:33 -0400 |
---|---|---|
committer | George Claghorn <george@basecamp.com> | 2018-10-03 16:04:33 -0400 |
commit | a91dc46b32b3062d2c75c226c733b04da50d0bc8 (patch) | |
tree | de647052300717cbc21463335abe7f5120ae5ff0 | |
parent | 2031d5310a578448713c390e7dba619dcc293bc7 (diff) | |
download | rails-a91dc46b32b3062d2c75c226c733b04da50d0bc8.tar.gz rails-a91dc46b32b3062d2c75c226c733b04da50d0bc8.tar.bz2 rails-a91dc46b32b3062d2c75c226c733b04da50d0bc8.zip |
Skip after callbacks on terminate
-rw-r--r-- | lib/action_mailbox/callbacks.rb | 2 | ||||
-rw-r--r-- | test/unit/mailbox/callbacks_test.rb | 5 |
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 |