app/jobs/sentry/send_event_job.rb in sentry-rails-4.2.1 vs app/jobs/sentry/send_event_job.rb in sentry-rails-4.2.2

- old
+ new

@@ -1,30 +1,34 @@ -return unless defined?(ActiveJob) +if defined?(ActiveJob) + module Sentry + parent_job = + if defined?(::ApplicationJob) && ::ApplicationJob.ancestors.include?(::ActiveJob::Base) + ::ApplicationJob + else + ::ActiveJob::Base + end -module Sentry - parent_job = - if defined?(::ApplicationJob) && ::ApplicationJob.ancestors.include?(::ActiveJob::Base) - ::ApplicationJob - else - ::ActiveJob::Base - end + class SendEventJob < parent_job + # the event argument is usually large and creates noise + self.log_arguments = false if respond_to?(:log_arguments=) - class SendEventJob < parent_job - # the event argument is usually large and creates noise - self.log_arguments = false if respond_to?(:log_arguments=) + # this will prevent infinite loop when there's an issue deserializing SentryJob + if respond_to?(:discard_on) + discard_on ActiveJob::DeserializationError + else + # mimic what discard_on does for Rails 5.0 + rescue_from ActiveJob::DeserializationError do + logger.error "Discarded #{self.class} due to a #{exception}. The original exception was #{error.cause.inspect}." + end + end - # this will prevent infinite loop when there's an issue deserializing SentryJob - if respond_to?(:discard_on) - discard_on ActiveJob::DeserializationError - else - # mimic what discard_on does for Rails 5.0 - rescue_from ActiveJob::DeserializationError do - logger.error "Discarded #{self.class} due to a #{exception}. The original exception was #{error.cause.inspect}." + def perform(event, hint = {}) + Sentry.send_event(event, hint) end end - - def perform(event, hint = {}) - Sentry.send_event(event, hint) - end + end +else + module Sentry + class SendEventJob; end end end