1. Gem::
  2. NameTuple

class Gem::NameTuple

Represents a gem of namename atversion ofplatform. These wrap the data returned from the indexes.

Attributes

name[R]
platform[R]
version[R]

Public Class Methods

Source
# File lib/rubygems/name_tuple.rb, line 24defself.from_list(list)list.map {|t|new(*t) }end

Turn an array of [name, version, platform] into an array ofNameTuple objects.

Source
# File lib/rubygems/name_tuple.rb, line 9definitialize(name,version,platform =Gem::Platform::RUBY)@name =name@version =versionplatform&&=platform.to_splatform =Gem::Platform::RUBYif!platform||platform.empty?@platform =platformend
Source
# File lib/rubygems/name_tuple.rb, line 39defself.nullnewnil,Gem::Version.new(0),nilend

A nullNameTuple, ie name=nil, version=0

Source
# File lib/rubygems/name_tuple.rb, line 32defself.to_basic(list)list.map(&:to_a)end

Turn an array ofNameTuple objects back into an array of

name, version, platform

tuples.

Public Instance Methods

Source
# File lib/rubygems/name_tuple.rb, line 90def<=>(other)  [@name,@version,Gem::Platform.sort_priority(@platform)]<=>    [other.name,other.version,Gem::Platform.sort_priority(other.platform)]end
Source
# File lib/rubygems/name_tuple.rb, line 101def==(other)caseotherwhenself.class@name==other.name&&@version==other.version&&@platform==other.platformwhenArrayto_a==otherelsefalseendend

Compare withother. Supports anotherNameTuple or anArray in the [name, version, platform] format.

Also aliased as:eql?
Alias for:==
Source
# File lib/rubygems/name_tuple.rb, line 48deffull_namecase@platformwhennil,"",Gem::Platform::RUBY"#{@name}-#{@version}"else"#{@name}-#{@version}-#{@platform}"endend

Returns the full name (name-version) of thisGem. Platform information is included if it is not the default Ruby platform. This mimics the behavior ofGem::Specification#full_name.

Source
# File lib/rubygems/name_tuple.rb, line 116defhashto_a.hashend
Source
# File lib/rubygems/name_tuple.rb, line 60defmatch_platform?Gem::Platform.match_gem?@platform,@nameend

Indicate if thisNameTuple matches the current platform.

Source
# File lib/rubygems/name_tuple.rb, line 66defprerelease?@version.prerelease?end

Indicate if thisNameTuple is for a prerelease version.

Source
# File lib/rubygems/name_tuple.rb, line 73defspec_name"#{full_name}.gemspec"end

Return the name that the gemspec file would be

Source
# File lib/rubygems/name_tuple.rb, line 80defto_a  [@name,@version,@platform]end

Convert back to the [name, version, platform] tuple