PHP 8.2.31
Preview: dependency_request.rb Size: 2.25 KB
//proc/thread-self/root/opt/alt/ruby34/share/rubygems/rubygems/resolver/dependency_request.rb

# frozen_string_literal: true

##
# Used Internally. Wraps a Dependency object to also track which spec
# contained the Dependency.

class Gem::Resolver::DependencyRequest
  ##
  # The wrapped Gem::Dependency

  attr_reader :dependency

  ##
  # The request for this dependency.

  attr_reader :requester

  ##
  # Creates a new DependencyRequest for +dependency+ from +requester+.
  # +requester may be nil if the request came from a user.

  def initialize(dependency, requester)
    @dependency = dependency
    @requester  = requester
  end

  def ==(other) # :nodoc:
    case other
    when Gem::Dependency
      @dependency == other
    when Gem::Resolver::DependencyRequest
      @dependency == other.dependency
    else
      false
    end
  end

  ##
  # Is this dependency a development dependency?

  def development?
    @dependency.type == :development
  end

  ##
  # Does this dependency request match +spec+?
  #
  # NOTE:  #match? only matches prerelease versions when #dependency is a
  # prerelease dependency.

  def match?(spec, allow_prerelease = false)
    @dependency.match? spec, nil, allow_prerelease
  end

  ##
  # Does this dependency request match +spec+?
  #
  # NOTE:  #matches_spec? matches prerelease versions.  See also #match?

  def matches_spec?(spec)
    @dependency.matches_spec? spec
  end

  ##
  # The name of the gem this dependency request is requesting.

  def name
    @dependency.name
  end

  def type
    @dependency.type
  end

  ##
  # Indicate that the request is for a gem explicitly requested by the user

  def explicit?
    @requester.nil?
  end

  ##
  # Indicate that the request is for a gem requested as a dependency of
  # another gem

  def implicit?
    !explicit?
  end

  ##
  # Return a String indicating who caused this request to be added (only
  # valid for implicit requests)

  def request_context
    @requester ? @requester.request : "(unknown)"
  end

  def pretty_print(q) # :nodoc:
    q.group 2, "[Dependency request ", "]" do
      q.breakable
      q.text @dependency.to_s

      q.breakable
      q.text " requested by "
      q.pp @requester
    end
  end

  ##
  # The version requirement for this dependency request

  def requirement
    @dependency.requirement
  end

  def to_s # :nodoc:
    @dependency.to_s
  end
end

Directory Contents

Dirs: 1 × Files: 25

Name Size Perms Modified Actions
api_set DIR
- drwxr-xr-x 2026-05-14 20:42:26
Edit Download
2.90 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.96 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.74 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
942 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.17 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
3.19 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
281 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.25 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.84 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.27 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.41 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.37 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.21 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
6.34 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
803 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.66 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.81 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.34 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.22 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
931 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download
2.66 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.41 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
951 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download
1.91 KB lrw-r--r-- 2026-04-20 12:16:25
Edit Download
577 B lrw-r--r-- 2026-04-20 12:16:25
Edit Download

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