Used internally to indicate that a dependency conflicted with a spec that would be activated.
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 11 def initialize(dependency, activated, failed_dep=dependency) @dependency = dependency @activated = activated @failed_dep = failed_dep end
Return the 2 dependency objects that conflicted
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 20 def conflicting_dependencies [@failed_dep.dependency, @activated.request.dependency] end
Explanation of the conflict used by exceptions to print useful messages
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 27 def explanation 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
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 36 def for_spec?(spec) @dependency.name == spec.name end
Path of specifications that requested this dependency
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 64 def request_path current = requester path = [] while current do path << current.spec.full_name current = current.request.requester end path end
Return the Specification that listed the dependency
# File lib/rubygems/dependency_resolver/dependency_conflict.rb, line 80 def requester @failed_dep.requester end