rails/actionmailer/lib/action_mailer/callbacks.rb
2023-03-29 17:12:19 -07:00

32 lines
915 B
Ruby

# frozen_string_literal: true
module ActionMailer
module Callbacks
extend ActiveSupport::Concern
included do
include ActiveSupport::Callbacks
define_callbacks :deliver, skip_after_callbacks_if_terminated: true
end
module ClassMethods
# Defines a callback that will get called right before the
# message is sent to the delivery method.
def before_deliver(*filters, &blk)
set_callback(:deliver, :before, *filters, &blk)
end
# Defines a callback that will get called right after the
# message's delivery method is finished.
def after_deliver(*filters, &blk)
set_callback(:deliver, :after, *filters, &blk)
end
# Defines a callback that will get called around the message's deliver method.
def around_deliver(*filters, &blk)
set_callback(:deliver, :around, *filters, &blk)
end
end
end
end