Sha256: 9b2e39ec8399291125dc978045f451a376b213025940d183e4e8e36aa6b9bafb

Contents?: true

Size: 637 Bytes

Versions: 4

Compression:

Stored size: 637 Bytes

Contents

require 'delayed_job'

unless defined? Delayed::Plugins::Bugsnag
  module Delayed
    module Plugins
      class Bugsnag < Plugin
        module Notify
          def error(job, error)
            ::Bugsnag.auto_notify(error)
            super if defined?(super)
          end
        end

        callbacks do |lifecycle|
          lifecycle.before(:invoke_job) do |job|
            payload = job.payload_object
            payload = payload.object if payload.is_a? Delayed::PerformableMethod
            payload.extend Notify
          end
        end
      end
    end
  end

  Delayed::Worker.plugins << Delayed::Plugins::Bugsnag
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bugsnag-1.8.8 lib/bugsnag/delayed_job.rb
bugsnag-1.8.7 lib/bugsnag/delayed_job.rb
bugsnag-1.8.6 lib/bugsnag/delayed_job.rb
bugsnag-1.8.5 lib/bugsnag/delayed_job.rb