Class: Gem::NameTuple
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Comparable
|
|
Inherits: | Object |
Defined in: | lib/rubygems/name_tuple.rb |
Class Method Summary
-
.from_list(list)
Turn an array of [name, version, platform] into an array of
NameTuple
objects. - .new(name, version, platform = "ruby") ⇒ NameTuple constructor
-
.null
A null
NameTuple
, ie name=nil, version=0. -
.to_basic(list)
Turn an array of
NameTuple
objects back into an array of [name, version, platform] tuples.
Instance Attribute Summary
-
#match_platform? ⇒ Boolean
readonly
Indicate if this
NameTuple
matches the current platform. - #name readonly
- #platform readonly
-
#prerelease? ⇒ Boolean
readonly
Indicate if this
NameTuple
is for a prerelease version. - #version readonly
Instance Method Summary
- #<=>(other)
-
#==(other)
(also: #eql?)
Compare with
other
. -
#eql?(other)
Alias for #==.
-
#full_name
Returns the full name (name-version) of this ::Gem.
- #hash
-
#spec_name
Return the name that the gemspec file would be.
-
#to_a
Convert back to the [name, version, platform] tuple.
Constructor Details
.new(name, version, platform = "ruby") ⇒ NameTuple
Class Method Details
.from_list(list)
Turn an array of [name, version, platform] into an array of NameTuple
objects.
# File 'lib/rubygems/name_tuple.rb', line 27
def self.from_list list list.map { |t| new(*t) } end
.null
A null NameTuple
, ie name=nil, version=0
.to_basic(list)
Turn an array of NameTuple
objects back into an array of
- name, version, platform
-
tuples.
# File 'lib/rubygems/name_tuple.rb', line 35
def self.to_basic list list.map { |t| t.to_a } end
Instance Attribute Details
#match_platform? ⇒ Boolean
(readonly)
Indicate if this NameTuple
matches the current platform.
#name (readonly)
[ GitHub ]#platform (readonly)
[ GitHub ]
#prerelease? ⇒ Boolean
(readonly)
Indicate if this NameTuple
is for a prerelease version.
# File 'lib/rubygems/name_tuple.rb', line 69
def prerelease? @version.prerelease? end
#version (readonly)
[ GitHub ]Instance Method Details
#<=>(other)
[ GitHub ]#==(other) Also known as: #eql?
Compare with other
. Supports another NameTuple
or an Array in the [name, version, platform] format.
#eql?(other)
Alias for #==.
# File 'lib/rubygems/name_tuple.rb', line 118
alias_method :eql?, :==
#full_name
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 Specification#full_name.
# File 'lib/rubygems/name_tuple.rb', line 51
def full_name case @platform when nil, 'ruby', '' "#{@name}-#{@version}" else "#{@name}-#{@version}-#{@platform}" end.dup.untaint end
#hash
[ GitHub ]# File 'lib/rubygems/name_tuple.rb', line 120
def hash to_a.hash end
#spec_name
Return the name that the gemspec file would be
# File 'lib/rubygems/name_tuple.rb', line 76
def spec_name "#{full_name}.gemspec" end
#to_a
Convert back to the [name, version, platform] tuple
# File 'lib/rubygems/name_tuple.rb', line 83
def to_a [@name, @version, @platform] end