summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Christian <brchristian@gmail.com>2017-03-08 12:54:03 -0800
committerBrian Christian <brchristian@gmail.com>2017-03-08 12:54:03 -0800
commitd3390af2f56cdd9a9300fe7bcf8ddd900ec3f279 (patch)
treef8bbe96a8e7e6a034a4ddc18234a0e3cd00fa9d3
parent6f354ad6118fea59f30828a969043209ec12c008 (diff)
downloadbundler-d3390af2f56cdd9a9300fe7bcf8ddd900ec3f279.tar.gz
use yellow color when version is moving backwards
-rw-r--r--lib/bundler/source.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/bundler/source.rb b/lib/bundler/source.rb
index 917e9106e0..4c27fd3f0a 100644
--- a/lib/bundler/source.rb
+++ b/lib/bundler/source.rb
@@ -20,13 +20,21 @@ module Bundler
locked_spec = Bundler.locked_gems.specs.find {|s| s.name == spec.name }
locked_spec_version = locked_spec.version if locked_spec
if locked_spec_version && spec.version != locked_spec_version
- message += Bundler.ui.add_color(" (was #{locked_spec_version})", :green)
+ message += Bundler.ui.add_color(" (was #{locked_spec_version})", earlier_version?(spec.version, locked_spec_version) ? :yellow : :green)
end
end
message
end
+ def earlier_version?(spec_version, locked_spec_version)
+ begin
+ Gem::Version.new(spec_version) < Gem::Version.new(locked_spec_version)
+ rescue
+ false
+ end
+ end
+
def can_lock?(spec)
spec.source == self
end