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 |
Overview
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.
- #inspect (also: #to_s) Internal use only
-
#to_s
Internal use only
Alias for #inspect.
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 26
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 34
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.
# File 'lib/rubygems/name_tuple.rb', line 62
def match_platform? Gem::Platform.match_gem? @platform, @name end
#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 68
def prerelease? @version.prerelease? end
#version (readonly)
[ GitHub ]Instance Method Details
#<=>(other)
[ GitHub ]# File 'lib/rubygems/name_tuple.rb', line 92
def <=>(other) [@name, @version, Gem::Platform.sort_priority(@platform)] <=> [other.name, other.version, Gem::Platform.sort_priority(other.platform)] end
#==(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 116
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.
#hash
[ GitHub ]# File 'lib/rubygems/name_tuple.rb', line 118
def hash to_a.hash end
#inspect Also known as: #to_s
# File 'lib/rubygems/name_tuple.rb', line 86
def inspect # :nodoc: "#<Gem::NameTuple #{@name}, #{@version}, #{@platform}>" end
#spec_name
Return the name that the gemspec file would be
# File 'lib/rubygems/name_tuple.rb', line 75
def spec_name "#{full_name}.gemspec" end
#to_a
Convert back to the [name, version, platform] tuple
# File 'lib/rubygems/name_tuple.rb', line 82
def to_a [@name, @version, @platform] end
#to_s
Alias for #inspect.
# File 'lib/rubygems/name_tuple.rb', line 90
alias to_s inspect # :nodoc: