summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Christian <brchristian@gmail.com>2017-03-23 11:07:28 -0700
committerBrian Christian <brchristian@gmail.com>2017-03-23 11:07:28 -0700
commit2429edee450aeb2822579ff926d7ce4013bc59ef (patch)
tree80f7fc047101e57ff7c088a60576b2a0217a84ed
parent68f835a688c42c62a4941df5c710c2ef6449e122 (diff)
downloadbundler-2429edee450aeb2822579ff926d7ce4013bc59ef.tar.gz
use Gem::Version.correct? instead of catching exceptions
-rw-r--r--lib/bundler/source.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/bundler/source.rb b/lib/bundler/source.rb
index bba27ad385..cf56ed1cc1 100644
--- a/lib/bundler/source.rb
+++ b/lib/bundler/source.rb
@@ -42,13 +42,17 @@ module Bundler
private
def version_color(spec_version, locked_spec_version)
- earlier_version?(spec_version, locked_spec_version) ? :yellow : :green
+ if Gem::Version.correct?(spec_version) && Gem::Version.correct?(locked_spec_version)
+ # display yellow if there appears to be a regression
+ earlier_version?(spec_version, locked_spec_version) ? :yellow : :green
+ else
+ # default to green if the versions cannot be directly compared
+ :green
+ end
end
def earlier_version?(spec_version, locked_spec_version)
Gem::Version.new(spec_version) < Gem::Version.new(locked_spec_version)
- rescue ArgumentError
- false
end
end
end