Sha256: 8b743125502b4668e9295f3cfac1c694e168b5dc6279cfce2d663c060d9f7034

Contents?: true

Size: 786 Bytes

Versions: 1

Compression:

Stored size: 786 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(args) unless Sentry.initialized? && Sentry.get_current_hub

      Sentry.get_current_hub.with_background_worker_disabled do
        orig_execute(args)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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