Sha256: 65814167bed074dbcd94a665795ff8f4c72ac42b93bac2edf1cc9b5671c83544

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

require "rake"
require "rake/task"

module Rake
  class Application

    alias orig_display_error_messsage display_error_message
    def display_error_message(ex)
      Sentry.capture_exception(ex, hint: { background: false }) do |scope|
        task_name = top_level_tasks.join(' ')
        scope.set_transaction_name(task_name)
        scope.set_tag("rake_task", task_name)
      end if Sentry.initialized? && !Sentry.configuration.skip_rake_integration

      orig_display_error_messsage(ex)
    end
  end

  class Task
    alias orig_execute execute

    def execute(args=nil)
      return orig_execute unless Sentry.initialized? && Sentry.get_current_hub

      Sentry.get_current_hub.with_background_worker_disabled do
        orig_execute
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sentry-ruby-core-4.6.2 lib/sentry/rake.rb