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 NameTupleobjects.
- .new(name, version, platform = "ruby") ⇒ NameTuple constructor
- 
    
      .null  
    
    A null NameTuple, ie name=nil, version=0.
- 
    
      .to_basic(list)  
    
    Turn an array of NameTupleobjects back into an array of [name, version, platform] tuples.
Instance Attribute Summary
- 
    
      #match_platform?  ⇒ Boolean 
    
    readonly
    Indicate if this NameTuplematches the current platform.
- #name readonly
- #platform readonly
- 
    
      #prerelease?  ⇒ Boolean 
    
    readonly
    Indicate if this NameTupleis 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