PHP 8.2.31
Preview: name_tuple.rb Size: 2.41 KB
//proc/thread-self/root/opt/alt/ruby25/lib64/ruby/2.5.0/rubygems/name_tuple.rb

# frozen_string_literal: true
##
#
# 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.dup.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

Directory Contents

Dirs: 11 × Files: 61

Name Size Perms Modified Actions
commands DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
core_ext DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
ext DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
package DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
request DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
resolver DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
security DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
source DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
ssl_certs DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
util DIR
- drwxr-xr-x 2024-03-03 22:47:52
Edit Download
3.02 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
7.36 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.69 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
13.98 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.77 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.66 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
12.51 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.46 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
8.38 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
14.17 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
5.55 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.73 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
3.06 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.62 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
6.39 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
461 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.37 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.18 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
11.06 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
25.11 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.41 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
337 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
311 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
6.89 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
3.40 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.38 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.41 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
16.47 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
3.80 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.72 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
6.25 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
300 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
793 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
7.74 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
11.67 KB lrw-r--r-- 2023-07-26 14:54:23
Edit Download
8.66 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
10.77 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
6.59 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
9.53 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.15 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
21.13 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.06 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
22.72 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
5.42 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.53 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
275 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
272 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
82.56 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
6.47 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.86 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.12 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
40.33 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
8.63 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
1.88 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
8.74 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
792 B lrw-r--r-- 2021-04-05 11:46:35
Edit Download
14.54 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.57 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
4.23 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
11.97 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download
2.03 KB lrw-r--r-- 2021-04-05 11:46:35
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).