Skip to Content Skip to Search

Used Internally. Wraps a Dependency object to also track which spec contained the Dependency.

Methods
D
E
I
M
N
R
T

Attributes

[R] dependency

The wrapped Gem::Dependency

[R] requester

The request for this dependency.

Class Public methods

new(dependency, requester)

Creates a new DependencyRequest for dependency from requester. +requester may be nil if the request came from a user.

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 22
def initialize(dependency, requester)
  @dependency = dependency
  @requester  = requester
end

Instance Public methods

development?()

Is this dependency a development dependency?

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 41
def development?
  @dependency.type == :development
end

explicit?()

Indicate that the request is for a gem explicitly requested by the user

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 78
def explicit?
  @requester.nil?
end

implicit?()

Indicate that the request is for a gem requested as a dependency of another gem

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 86
def implicit?
  !explicit?
end

match?(spec, allow_prerelease = false)

Does this dependency request match spec?

NOTE: match? only matches prerelease versions when dependency is a prerelease dependency.

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 51
def match?(spec, allow_prerelease = false)
  @dependency.match? spec, nil, allow_prerelease
end

matches_spec?(spec)

Does this dependency request match spec?

NOTE: matches_spec? matches prerelease versions. See also match?

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 60
def matches_spec?(spec)
  @dependency.matches_spec? spec
end

name()

The name of the gem this dependency request is requesting.

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 67
def name
  @dependency.name
end

request_context()

Return a String indicating who caused this request to be added (only valid for implicit requests)

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 94
def request_context
  @requester ? @requester.request : "(unknown)"
end

requirement()

The version requirement for this dependency request

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 112
def requirement
  @dependency.requirement
end

type()

# File ruby/lib/rubygems/resolver/dependency_request.rb, line 71
def type
  @dependency.type
end