class Gem::Resolver::DependencyRequest
内部使用。包装一个 Dependency 对象,同时也跟踪哪个 spec 包含此 Dependency。
属性
对此依赖的请求。
公共类方法
源码
# File lib/rubygems/resolver/dependency_request.rb, line 22 def initialize(dependency, requester) @dependency = dependency @requester = requester end
为来自 requester
的 dependency
创建一个新的 DependencyRequest
。如果请求来自用户,则 requester
可能为 nil。
公共实例方法
源码
# File lib/rubygems/resolver/dependency_request.rb, line 41 def development? @dependency.type == :development end
此依赖是否为开发依赖?
源码
# File lib/rubygems/resolver/dependency_request.rb, line 78 def explicit? @requester.nil? end
指示此请求是用户显式请求的 gem
源码
# File lib/rubygems/resolver/dependency_request.rb, line 86 def implicit? !explicit? end
指示此请求是作为另一个 gem 的依赖而请求的 gem
源码
# File lib/rubygems/resolver/dependency_request.rb, line 51 def match?(spec, allow_prerelease = false) @dependency.match? spec, nil, allow_prerelease end
此依赖请求是否与 spec
匹配?
注意:只有当 dependency
是预发布依赖时,match?
才匹配预发布版本。
源码
# File lib/rubygems/resolver/dependency_request.rb, line 60 def matches_spec?(spec) @dependency.matches_spec? spec end
此依赖请求是否与 spec
匹配?
注意:matches_spec?
匹配预发布版本。另请参阅 match?
源码
# File lib/rubygems/resolver/dependency_request.rb, line 67 def name @dependency.name end
此依赖请求所请求的 gem 的名称。
源码
# File lib/rubygems/resolver/dependency_request.rb, line 94 def request_context @requester ? @requester.request : "(unknown)" end
返回一个 String
,指示谁导致添加了此请求(仅对隐式请求有效)
源码
# File lib/rubygems/resolver/dependency_request.rb, line 112 def requirement @dependency.requirement end
此依赖请求的版本要求
源码
# File lib/rubygems/resolver/dependency_request.rb, line 71 def type @dependency.type end