Used internally to indicate that a dependency conflicted with a spec that would be activated.
Return the 2 dependency objects that conflicted
# File 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 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 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 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