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
# 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
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
Turn an array of NameTuple objects back into an array of
tuples.
# File rubygems/name_tuple.rb, line 34
def self.to_basic list
list.map { |t| t.to_a }
end
# File rubygems/name_tuple.rb, line 81
def <=> other
to_a <=> other.to_a
end
Compare with other. Supports another NameTuple or an Array in the [name, version,
platform] format.
# File rubygems/name_tuple.rb, line 91
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
Indicate if this NameTuple matches the current platform.
# File rubygems/name_tuple.rb, line 48
def match_platform?
Gem::Platform.match @platform
end
Indicate if this NameTuple is for a prerelease version.
# File rubygems/name_tuple.rb, line 54
def prerelease?
@version.prerelease?
end
Return the name that the gemspec file would be
# File rubygems/name_tuple.rb, line 61
def spec_name
case @platform
when nil, 'ruby', ''
"#{@name}-#{@version}.gemspec"
else
"#{@name}-#{@version}-#{@platform}.gemspec"
end
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 see Improve the docs, or visit Documenting-ruby.org.