diff options
-rw-r--r-- | lib/rubygems/resolver/conflict.rb | 41 |
1 files changed, 31 insertions, 10 deletions
@@ -4,25 +4,38 @@ class Gem::Resolver::Conflict attr_reader :activated attr_reader :dependency attr_reader :failed_dep # :nodoc: def initialize(dependency, activated, failed_dep=dependency) @dependency = dependency @activated = activated @failed_dep = failed_dep end - def == other self.class === other and @dependency == other.dependency and @activated == other.activated and @failed_dep == other.failed_dep end def explain "<Conflict wanted: #{@failed_dep}, had: #{activated.spec.full_name}>" end @@ -41,11 +54,15 @@ class Gem::Resolver::Conflict activated = @activated.spec.full_name requirement = @failed_dep.dependency.requirement - " Activated %s instead of (%s) via:\n %s\n" % [ - activated, requirement, request_path.join(', ') ] end def for_spec?(spec) @dependency.name == spec.name end @@ -72,16 +89,17 @@ class Gem::Resolver::Conflict end ## - # Path of specifications that requested this dependency - def request_path - current = requester - path = [] while current do - path << current.spec.full_name - current = current.request.requester end path = ['user request (gem command or Gemfile)'] if path.empty? @@ -98,5 +116,8 @@ class Gem::Resolver::Conflict end -Gem::Resolver::DependencyConflict = Gem::Resolver::Conflict |