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.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 24
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.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 9
def initialize(name, version, platform=Gem::Platform::RUBY)
@name = name
@version = version
platform &&= platform.to_s
platform = Gem::Platform::RUBY if !platform || platform.empty?
@platform = platform
end
No documentation available
.
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 39
def self.null
new nil, Gem::Version.new(0), nil
end
A null NameTuple, ie name=nil, version=0
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 32
def self.to_basic(list)
list.map(&:to_a)
end
Turn an array of NameTuple objects back into an array of
- name, version, platform
-
tuples.
Instance Methods
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 90
def <=>(other)
[@name, @version, Gem::Platform.sort_priority(@platform)] <=>
[other.name, other.version, Gem::Platform.sort_priority(other.platform)]
end
No documentation available
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 101
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.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 48
def full_name
case @platform
when nil, "", Gem::Platform::RUBY
"#{@name}-#{@version}"
else
"#{@name}-#{@version}-#{@platform}"
end
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.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 116
def hash
to_a.hash
end
No documentation available
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 60
def match_platform?
Gem::Platform.match_gem? @platform, @name
end
Indicate if this NameTuple matches the current platform.
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 66
def prerelease?
@version.prerelease?
end
Indicate if this NameTuple is for a prerelease version.
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 73
def spec_name
"#{full_name}.gemspec"
end
Return the name that the gemspec file would be
#
3.4
View on GitHub
# File tmp/rubies/ruby-3.4.1/lib/rubygems/name_tuple.rb, line 80
def to_a
[@name, @version, @platform]
end
Convert back to the [name, version, platform] tuple