class Gem::Resolver::IndexSpecification
表示从 IndexSet 返回的可能的 Specification 对象。用于延迟下载完整的 Specification 对象,当只需要 name
和 version
时。
公共类方法
源代码
# File lib/rubygems/resolver/index_specification.rb, line 18 def initialize(set, name, version, source, platform) super() @set = set @name = name @version = version @source = source @platform = Gem::Platform.new(platform.to_s) @original_platform = platform.to_s @spec = nil end
IndexSpecification
是从 ‘gem help generate_index` 中描述的索引格式创建的。
set
包含此 (URL) source
的其他规范。
name
,version
和 platform
是 gem 的名称、版本和平台。
公共实例方法
源代码
# File lib/rubygems/resolver/index_specification.rb, line 59 def ==(other) self.class === other && @name == other.name && @version == other.version && @platform == other.platform end
源代码
# File lib/rubygems/resolver/index_specification.rb, line 34 def dependencies spec.dependencies end
此规范中 gem 的依赖项
源代码
# File lib/rubygems/resolver/index_specification.rb, line 66 def hash @name.hash ^ @version.hash ^ @platform.hash end
源代码
# File lib/rubygems/resolver/index_specification.rb, line 44 def required_ruby_version spec.required_ruby_version || Gem::Requirement.default end
此规范的 required_ruby_version
约束
包含一个回退机制,因为在生成时,一些编组的规范将其设置为 nil
。
源代码
# File lib/rubygems/resolver/index_specification.rb, line 55 def required_rubygems_version spec.required_rubygems_version || Gem::Requirement.default end
此规范的 required_rubygems_version
约束
包含一个回退机制,因为原始版本的规范 API 不包含该字段,因此索引中的一些编组规范将其设置为 nil
。