mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
a75f085941
git-subtree-dir: activejob git-subtree-mainline:b45b99894a
git-subtree-split:14f74a8331
40 lines
No EOL
927 B
Ruby
40 lines
No EOL
927 B
Ruby
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 |