In Files

  • rubygems/name_tuple.rb

Class/Module Index [+]

Quicksearch

Gem::NameTuple

Attributes

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

Public Class Methods

from_list(list) click to toggle source

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

 
               # File rubygems/name_tuple.rb, line 26
def self.from_list list
  list.map { |t| new(*t) }
end
            
new(name, version, platform="ruby") click to toggle source
 
               # File rubygems/name_tuple.rb, line 9
def initialize(name, version, platform="ruby")
  @name = name
  @version = version

  unless platform.kind_of? Gem::Platform
    platform = "ruby" if !platform or platform.empty?
  end

  @platform = platform
end
            
null() click to toggle source

A null NameTuple, ie name=nil, version=0

 
               # File rubygems/name_tuple.rb, line 41
def self.null
  new nil, Gem::Version.new(0), nil
end
            
to_basic(list) click to toggle source

Turn an array of NameTuple objects back into an array of

name, version, platform

tuples.

 
               # File rubygems/name_tuple.rb, line 34
def self.to_basic list
  list.map { |t| t.to_a }
end
            

Public Instance Methods

<=>(other) click to toggle source
 
               # File rubygems/name_tuple.rb, line 92
def <=> other
  to_a <=> other.to_a
end
            
==(other) click to toggle source

Compare with other. Supports another NameTuple or an Array in the [name, version, platform] format.

 
               # File rubygems/name_tuple.rb, line 102
def == other
  case other
  when self.class
    @name == other.name and
      @version == other.version and
      @platform == other.platform
  when Array
    to_a == other
  else
    false
  end
end
            
Also aliased as: eql?
eql?(other) click to toggle source
Alias for: ==
full_name() click to toggle source

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.

 
               # File rubygems/name_tuple.rb, line 50
def full_name
  case @platform
  when nil, 'ruby', ''
    "#{@name}-#{@version}"
  else
    "#{@name}-#{@version}-#{@platform}"
  end
end
            
hash() click to toggle source
 
               # File rubygems/name_tuple.rb, line 117
def hash
  to_a.hash
end
            
match_platform?() click to toggle source

Indicate if this NameTuple matches the current platform.

 
               # File rubygems/name_tuple.rb, line 62
def match_platform?
  Gem::Platform.match @platform
end
            
prerelease?() click to toggle source

Indicate if this NameTuple is for a prerelease version.

 
               # File rubygems/name_tuple.rb, line 68
def prerelease?
  @version.prerelease?
end
            
spec_name() click to toggle source

Return the name that the gemspec file would be

 
               # File rubygems/name_tuple.rb, line 75
def spec_name
  "#{full_name}.gemspec"
end
            
to_a() click to toggle source

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

 
               # File rubygems/name_tuple.rb, line 82
def to_a
  [@name, @version, @platform]
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus