aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_mailbox/callbacks.rb
blob: 33caaafd2ad7ff32fb94ce576af592099f537843 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require "active_support/callbacks"

module ActionMailbox
  module Callbacks
    extend  ActiveSupport::Concern
    include ActiveSupport::Callbacks

    included do
      define_callbacks :process
    end

    module ClassMethods
      def before_processing(*methods, &block)
        set_callback(:process, :before, *methods, &block)
      end

      def after_processing(*methods, &block)
        set_callback(:process, :after, *methods, &block)
      end

      def around_processing(*methods, &block)
        set_callback(:process, :around, *methods, &block)
      end
    end
  end
end