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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
require 'active_support/callbacks'
module ActiveJob
module Callbacks
extend ActiveSupport::Concern
include ActiveSupport::Callbacks
included do
define_callbacks :perform
define_callbacks :enqueue
end
module ClassMethods
def before_perform(*filters, &blk)
set_callback(:perform, :before, *filters, &blk)
end
def after_perform(*filters, &blk)
set_callback(:perform, :after, *filters, &blk)
end
def around_perform(*filters, &blk)
set_callback(:perform, :around, *filters, &blk)
end
def before_enqueue(*filters, &blk)
set_callback(:enqueue, :before, *filters, &blk)
end
def after_enqueue(*filters, &blk)
set_callback(:enqueue, :after, *filters, &blk)
end
def around_enqueue(*filters, &blk)
set_callback(:enqueue, :around, *filters, &blk)
end
end
end
end
|