Module: Wayfarer::Callbacks

Defined in:
lib/wayfarer/callbacks.rb

Defined Under Namespace

Modules: ClassMethods Classes: ConditionalCallback

Constant Summary collapse

TERMINATOR =
->(_target, result) { result.call == false }
OPTIONS =
{ terminator: TERMINATOR, skip_after_callbacks_if_terminated: true }.freeze

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/wayfarer/callbacks.rb', line 44

def self.included(base)
  base.include(ActiveSupport::Callbacks)
  base.extend(ClassMethods)

  base.class_eval do
    define_callbacks(:fetch, OPTIONS)
    define_callbacks(:action, OPTIONS)
    define_callbacks(:batch, OPTIONS)

    define(:fetch, :before)
    define(:action, :before)
    define(:batch, :after)
  end
end