module Bugno::Middleware::Rails::ActiveJobExtensions

Constants

ADAPTERS

Public Class Methods

included(base) click to toggle source
# File lib/bugno/middleware/rails/active_job_extensions.rb, line 11
def self.included(base)
  base.class_eval do
    around_perform { |job, block| capture_and_reraise(job, block) }
  end
end

Public Instance Methods

capture_and_reraise(job, block) click to toggle source
# File lib/bugno/middleware/rails/active_job_extensions.rb, line 17
def capture_and_reraise(job, block)
  block.call
rescue Error
  raise
rescue Exception => e
  Handler.call(exception: e, job: job_data(job)) if Bugno.configured?
  raise e
end
job_data(job) click to toggle source
# File lib/bugno/middleware/rails/active_job_extensions.rb, line 26
def job_data(job)
  data = {
    active_job: job.class.name,
    arguments: job.arguments,
    scheduled_at: job.scheduled_at,
    job_id: job.job_id,
    locale: job.locale
  }
  data[:provider_job_id] = job.provider_job_id if job.respond_to?(:provider_job_id)
  data
end