Sha256: dc6741ff3d00bc232719050b91fea7ec9b638b68b56201e7959e3f66cc2b6d53

Contents?: true

Size: 923 Bytes

Versions: 3

Compression:

Stored size: 923 Bytes

Contents

require 'rake'

module Rollbar
  module Rake
    def self.patch!
      skip_patch && return unless patch?

      ::Rake::Application.class_eval do
        alias_method :orig_display_error_message, :display_error_message

        def display_error_message(ex)
          Rollbar.error(ex, :use_exception_level_filters => true)
          orig_display_error_message(ex)
        end
      end
    end

    def self.skip_patch
      warn('[Rollbar] Rollbar is disabled for Rake tasks since your Rake version is under 0.9.x. Please upgrade to 0.9.x or higher.')
    end

    def self.patch?
      major, minor, *_ = rake_version.split('.').map(&:to_i)

      major > 0 || major == 0 && minor > 8
    end

    def self.rake_version
      if Object.const_defined?('RAKEVERSION')
        return RAKEVERSION
      elsif ::Rake.const_defined?('VERSION')
        return ::Rake::VERSION
      end
    end
  end
end

Rollbar::Rake.patch!

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rollbar-2.9.1 lib/rollbar/rake.rb
rollbar-2.9.0 lib/rollbar/rake.rb
rollbar-2.8.3 lib/rollbar/rake.rb