Represents a possible Specification object returned from IndexSet. Used to delay needed to download full Specification objects when only the name and version are needed.
An IndexSpecification is created from the index format described in `gem help generate_index`.
The set contains other specifications for this (URL) source.
The name, version and platform are the name, version and platform of the gem.
# File rubygems/resolver/index_specification.rb, line 17
def initialize(set, name, version, source, platform)
super()
@set = set
@name = name
@version = version
@source = source
@platform = platform.to_s
@spec = nil
end
# File rubygems/resolver/index_specification.rb, line 51
def ==(other)
self.class === other &&
@name == other.name &&
@version == other.version &&
@platform == other.platform
end
The dependencies of the gem for this specification
# File rubygems/resolver/index_specification.rb, line 32
def dependencies
spec.dependencies
end
# File rubygems/resolver/index_specification.rb, line 58
def hash
@name.hash ^ @version.hash ^ @platform.hash
end
The required_ruby_version constraint for this specification
# File rubygems/resolver/index_specification.rb, line 39
def required_ruby_version
spec.required_ruby_version
end
The required_rubygems_version constraint for this specification
# File rubygems/resolver/index_specification.rb, line 47
def required_rubygems_version
spec.required_rubygems_version
end