summaryrefslogtreecommitdiff
path: root/lib/bundler/resolver.rb
diff options
context:
space:
mode:
authorSamuel E. Giddins <segiddins@segiddins.me>2014-12-03 17:37:40 -0800
committerSamuel E. Giddins <segiddins@segiddins.me>2014-12-03 17:37:40 -0800
commit214cbedb80c9f63fb1f97a83012e189a81bbcb6e (patch)
tree9e42521a03450f3c56393585e6d6926145decc75 /lib/bundler/resolver.rb
parent6c2cb171987a133bb3b945b54921f2d6d0b82024 (diff)
downloadbundler-214cbedb80c9f63fb1f97a83012e189a81bbcb6e.tar.gz
[Resolver] Fix grammar for the case of a single-gem circular dependency error
Diffstat (limited to 'lib/bundler/resolver.rb')
-rw-r--r--lib/bundler/resolver.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index 2707a85385..083865becf 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -202,10 +202,11 @@ module Bundler
rescue Molinillo::VersionConflict => e
raise VersionConflict.new(e.conflicts.keys.uniq, e.message)
rescue Molinillo::CircularDependencyError => e
- names = e.dependencies.reverse_each.map { |d| "gem '#{d.name}'"}
+ names = e.dependencies.sort_by(&:name).map { |d| "gem '#{d.name}'"}
raise CyclicDependencyError, "Your Gemfile requires gems that depend" \
" on each other, creating an infinite loop. Please remove" \
- " either #{names.join(' or ')} and try again."
+ " #{names.count > 1 ? 'either ' : '' }#{names.join(' or ')}" \
+ " and try again."
end
include Molinillo::UI