Represents a gem of name name at version of platform. These wrap the data returned from the indexes.
Attributes
Read
No documentation available
Read
No documentation available
Read
No documentation available
Class Methods
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 25
def self.from_list(list)
list.map {|t| new(*t) }
end
Turn an array of [name, version, platform] into an array of NameTuple objects.
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 8
def initialize(name, version, platform="ruby")
@name = name
@version = version
unless platform.kind_of? Gem::Platform
platform = "ruby" if !platform || platform.empty?
end
@platform = platform
end
No documentation available
.
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 40
def self.null
new nil, Gem::Version.new(0), nil
end
A null NameTuple, ie name=nil, version=0
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 33
def self.to_basic(list)
list.map {|t| t.to_a }
end
Turn an array of NameTuple objects back into an array of
- name, version, platform
-
tuples.
Instance Methods
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 91
def <=>(other)
[@name, @version, Gem::Platform.sort_priority(@platform)] <=>
[other.name, other.version, Gem::Platform.sort_priority(other.platform)]
end
No documentation available
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 102
def ==(other)
case other
when self.class
@name == other.name &&
@version == other.version &&
@platform == other.platform
when Array
to_a == other
else
false
end
end
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 49
def full_name
case @platform
when nil, "ruby", ""
"#{@name}-#{@version}"
else
"#{@name}-#{@version}-#{@platform}"
end.dup.tap(&Gem::UNTAINT)
end
Returns the full name (name-version) of this Gem. Platform information is included if it is not the default Ruby platform. This mimics the behavior of Gem::Specification#full_name.
#
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 117
def hash
to_a.hash
end
No documentation available
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 61
def match_platform?
Gem::Platform.match_gem? @platform, @name
end
Indicate if this NameTuple matches the current platform.
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 67
def prerelease?
@version.prerelease?
end
Indicate if this NameTuple is for a prerelease version.
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 74
def spec_name
"#{full_name}.gemspec"
end
Return the name that the gemspec file would be
#
3.2
View on GitHub
# File tmp/rubies/ruby-3.2.0/lib/rubygems/name_tuple.rb, line 81
def to_a
[@name, @version, @platform]
end
Convert back to the [name, version, platform] tuple