Sha256: 2b0d1ed7ae2aaf914f508a76b2abff49e678f558e1b85b28c70aa0344cf42323
Contents?: true
Size: 833 Bytes
Versions: 113
Compression:
Stored size: 833 Bytes
Contents
# frozen_string_literal: true require "active_support/callbacks" module ActionMailbox # Defines the callbacks related to processing. module Callbacks extend ActiveSupport::Concern include ActiveSupport::Callbacks TERMINATOR = ->(mailbox, chain) do chain.call mailbox.finished_processing? end included do define_callbacks :process, terminator: TERMINATOR, skip_after_callbacks_if_terminated: true end class_methods do 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
Version data entries
113 entries across 109 versions & 9 rubygems