Sha256: c98efa5744922bda2db1316180920aec1e28696bfd8abed967d7fb8484945cb2
Contents?: true
Size: 1.75 KB
Versions: 3
Compression:
Stored size: 1.75 KB
Contents
module Rollbar # Report any uncaught errors in a job to Rollbar and reraise module ActiveJob def self.included(base) base.send :rescue_from, Exception do |exception| job_data = { :job => self.class.name, :use_exception_level_filters => true } # When included in ActionMailer, the handler is called twice. # This detects the execution that has the expected state. if defined?(ActionMailer::Base) && self.class.ancestors.include?(ActionMailer::Base) job_data[:action] = action_name job_data[:params] = @params Rollbar.error(exception, job_data) # This detects other supported integrations. elsif defined?(arguments) job_data[:arguments] = \ if self.class.respond_to?(:log_arguments?) && !self.class.log_arguments? arguments.map(&Rollbar::Scrubbers.method(:scrub_value)) else arguments end job_data[:job_id] = job_id if defined?(job_id) Rollbar.error(exception, job_data) end raise exception end end end end Rollbar.plugins.define('active_job') do dependency { !configuration.disable_monkey_patch } dependency { !configuration.disable_action_mailer_monkey_patch } execute do if defined?(ActiveSupport) && ActiveSupport.respond_to?(:on_load) ActiveSupport.on_load(:action_mailer) do if defined?(ActionMailer::MailDeliveryJob) # Rails >= 6.0 ActionMailer::Base.send(:include, Rollbar::ActiveJob) elsif defined?(ActionMailer::DeliveryJob) # Rails < 6.0 ActionMailer::DeliveryJob.send(:include, Rollbar::ActiveJob) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rollbar-3.6.1 | lib/rollbar/plugins/active_job.rb |
rollbar-3.6.0 | lib/rollbar/plugins/active_job.rb |
rollbar-3.5.2 | lib/rollbar/plugins/active_job.rb |