module PaperPlane::Callbacks

Public Instance Methods

_normalize_callback_option(options, from, to) click to toggle source
# File lib/paper_plane/callbacks.rb, line 45
def _normalize_callback_option(options, from, to)
  if (from = options[from])
    from_set = Array(from).map(&:to_s).to_set
    from = proc { |c| from_set.include? c.notification_name.to_s }
    options[to] = Array(options[to]).unshift(from)
  end
end
_normalize_callback_options(options) click to toggle source
# File lib/paper_plane/callbacks.rb, line 40
def _normalize_callback_options(options)
  _normalize_callback_option(options, :only, :if)
  _normalize_callback_option(options, :except, :unless)
end
after_flying(method_or_block = nil, on: :flying, **options, &block) click to toggle source
# File lib/paper_plane/callbacks.rb, line 65
def after_flying(method_or_block = nil, on: :flying, **options, &block)
  method_or_block ||= block
  _normalize_callback_options(options)
  set_callback on, :after, method_or_block, options
end
around_flying(method_or_block = nil, on: :flying, **options, &block) click to toggle source
# File lib/paper_plane/callbacks.rb, line 71
def around_flying(method_or_block = nil, on: :flying, **options, &block)
  method_or_block ||= block
  _normalize_callback_options(options)
  set_callback on, :around, method_or_block, options
end
before_flying(method_or_block = nil, on: :flying, **options, &block) click to toggle source
# File lib/paper_plane/callbacks.rb, line 59
def before_flying(method_or_block = nil, on: :flying, **options, &block)
  method_or_block ||= block
  _normalize_callback_options(options)
  set_callback on, :before, method_or_block, options
end
define_flight_callbacks(route_name) click to toggle source
# File lib/paper_plane/callbacks.rb, line 53
def define_flight_callbacks(route_name)
  define_callbacks route_name,
    terminator: CALLBACK_TERMINATOR,
    skip_after_callbacks_if_terminated: true
end