lib/rollbar/rake.rb in rollbar-1.2.11 vs lib/rollbar/rake.rb in rollbar-1.2.12
- old
+ new
@@ -1,12 +1,38 @@
require 'rake'
-module Rake
- class Application
- alias_method :orig_display_error_message, :display_error_message
+module Rollbar
+ module Rake
+ def self.patch!
+ skip_patch && return unless patch?
- def display_error_message(ex)
- Rollbar.error(ex)
- orig_display_error_message(ex)
+ ::Rake::Application.class_eval do
+ alias_method :orig_display_error_message, :display_error_message
+
+ def display_error_message(ex)
+ Rollbar.error(ex)
+ 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!