aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/dependency_resolver/dependency_request.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/dependency_resolver/dependency_request.rb')
-rw-r--r--lib/rubygems/dependency_resolver/dependency_request.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rubygems/dependency_resolver/dependency_request.rb b/lib/rubygems/dependency_resolver/dependency_request.rb
index 05e447c3be..36b77ab558 100644
--- a/lib/rubygems/dependency_resolver/dependency_request.rb
+++ b/lib/rubygems/dependency_resolver/dependency_request.rb
@@ -32,6 +32,22 @@ class Gem::DependencyResolver::DependencyRequest
@dependency.name
end
+ # Indicate that the request is for a gem explicitly requested by the user
+ def explicit?
+ @requester.nil?
+ end
+
+ # Indicate that the requset is for a gem requested as a dependency of another gem
+ def implicit?
+ !explicit?
+ end
+
+ # Return a String indicating who caused this request to be added (only
+ # valid for implicit requests)
+ def request_context
+ @requester ? @requester.request : "(unknown)"
+ end
+
def pretty_print q # :nodoc:
q.group 2, '[Dependency request ', ']' do
q.breakable
@@ -43,6 +59,10 @@ class Gem::DependencyResolver::DependencyRequest
end
end
+ def requirement
+ @dependency.requirement
+ end
+
def to_s # :nodoc:
@dependency.to_s
end