From 6bc3ab18ae2cd1fd212dc2ab792d2bb9982e3c1b Mon Sep 17 00:00:00 2001 From: Calvin Date: Tue, 2 May 2017 22:03:44 +0100 Subject: [PATCH] Handle case when custom class for the job does not support the #to_h method --- lib/bugsnag/delayed_job.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/bugsnag/delayed_job.rb b/lib/bugsnag/delayed_job.rb index c374e1fd2..1bdb48166 100644 --- a/lib/bugsnag/delayed_job.rb +++ b/lib/bugsnag/delayed_job.rb @@ -33,7 +33,12 @@ def error(job, error) p[:id] = payload.id if payload.respond_to?(:id) p[:display_name] = payload.display_name if payload.respond_to?(:display_name) p[:method_name] = payload.method_name if payload.respond_to?(:method_name) - p[:args] = payload.respond_to?(:args) ? payload.args : payload.to_h + + if payload.respond_to?(:args) + p[:args] = payload.args + elsif payload.respond_to?(:to_h) + p[:args] = payload.to_h + end if payload.is_a?(::Delayed::PerformableMethod) && (object = payload.object) p[:object] = {