summaryrefslogtreecommitdiff
path: root/ruby_2_2/lib/rubygems/name_tuple.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-14 15:59:18 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-14 15:59:18 +0000
commit72113d58cd2fc62b3f4ef3d2eb6cec37393532a4 (patch)
tree534843caaea28f1171378c1ac5bea0184ed04054 /ruby_2_2/lib/rubygems/name_tuple.rb
parent1a74fa4b04da04bd2bb33103dd3cf431438df38e (diff)
parent02b8978ff10b05304dbb46d73b49a2cf3a87cb92 (diff)
add tag v2_2_9v2_2_9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v2_2_9@61259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_2_2/lib/rubygems/name_tuple.rb')
-rw-r--r--ruby_2_2/lib/rubygems/name_tuple.rb123
1 files changed, 0 insertions, 123 deletions
diff --git a/ruby_2_2/lib/rubygems/name_tuple.rb b/ruby_2_2/lib/rubygems/name_tuple.rb
deleted file mode 100644
index 60323db408..0000000000
--- a/ruby_2_2/lib/rubygems/name_tuple.rb
+++ /dev/null
@@ -1,123 +0,0 @@
-##
-#
-# Represents a gem of name +name+ at +version+ of +platform+. These
-# wrap the data returned from the indexes.
-
-require 'rubygems/platform'
-
-class Gem::NameTuple
- 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
-
- attr_reader :name, :version, :platform
-
- ##
- # Turn an array of [name, version, platform] into an array of
- # NameTuple objects.
-
- def self.from_list list
- list.map { |t| new(*t) }
- end
-
- ##
- # Turn an array of NameTuple objects back into an array of
- # [name, version, platform] tuples.
-
- def self.to_basic list
- list.map { |t| t.to_a }
- end
-
- ##
- # A null NameTuple, ie name=nil, version=0
-
- def self.null
- new nil, Gem::Version.new(0), nil
- end
-
- ##
- # 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.
-
- def full_name
- case @platform
- when nil, 'ruby', ''
- "#{@name}-#{@version}"
- else
- "#{@name}-#{@version}-#{@platform}"
- end.untaint
- end
-
- ##
- # Indicate if this NameTuple matches the current platform.
-
- def match_platform?
- Gem::Platform.match @platform
- end
-
- ##
- # Indicate if this NameTuple is for a prerelease version.
- def prerelease?
- @version.prerelease?
- end
-
- ##
- # Return the name that the gemspec file would be
-
- def spec_name
- "#{full_name}.gemspec"
- end
-
- ##
- # Convert back to the [name, version, platform] tuple
-
- def to_a
- [@name, @version, @platform]
- end
-
- def inspect # :nodoc:
- "#<Gem::NameTuple #{@name}, #{@version}, #{@platform}>"
- end
-
- alias to_s inspect # :nodoc:
-
- def <=> other
- [@name, @version, @platform == Gem::Platform::RUBY ? -1 : 1] <=>
- [other.name, other.version,
- other.platform == Gem::Platform::RUBY ? -1 : 1]
- end
-
- include Comparable
-
- ##
- # Compare with +other+. Supports another NameTuple or an Array
- # in the [name, version, platform] format.
-
- 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
-
- alias_method :eql?, :==
-
- def hash
- to_a.hash
- end
-
-end