/
opt
/
cpanel
/
ea-ruby27
/
root
/
usr
/
share
/
ruby
/
ruby-2.7.8
/
rubygems
/
/opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rubygems
mkdir
upload
Name
Size
Mode
Actions
commands/
-
0755
rm
core_ext/
-
0755
rm
defaults/
-
0755
rm
ext/
-
0755
rm
package/
-
0755
rm
request/
-
0755
rm
request_set/
-
0755
rm
resolver/
-
0755
rm
security/
-
0755
rm
source/
-
0755
rm
ssl_certs/
-
0755
rm
util/
-
0755
rm
available_set.rb
3094
0644
edit
dl
rm
basic_specification.rb
7801
0644
edit
dl
rm
bundler_version_finder.rb
3044
0644
edit
dl
rm
command.rb
16169
0644
edit
dl
rm
command_manager.rb
5111
0644
edit
dl
rm
compatibility.rb
1022
0644
edit
dl
rm
config_file.rb
12998
0644
edit
dl
rm
defaults.rb
4879
0644
edit
dl
rm
dependency.rb
8845
0644
edit
dl
rm
dependency_installer.rb
12292
0644
edit
dl
rm
dependency_list.rb
5673
0644
edit
dl
rm
deprecate.rb
1794
0644
edit
dl
rm
doctor.rb
3136
0644
edit
dl
rm
errors.rb
4750
0644
edit
dl
rm
exceptions.rb
6646
0644
edit
dl
rm
ext.rb
460
0644
edit
dl
rm
gemcutter_utilities.rb
5284
0644
edit
dl
rm
gem_runner.rb
2232
0644
edit
dl
rm
indexer.rb
11562
0644
edit
dl
rm
installer.rb
27262
0644
edit
dl
rm
installer_test_case.rb
4911
0644
edit
dl
rm
install_default_message.rb
336
0644
edit
dl
rm
install_message.rb
310
0644
edit
dl
rm
install_update_options.rb
6412
0644
edit
dl
rm
local_remote_options.rb
3619
0644
edit
dl
rm
mock_gem_ui.rb
1418
0644
edit
dl
rm
name_tuple.rb
2480
0644
edit
dl
rm
package.rb
18418
0644
edit
dl
rm
package_task.rb
3888
0644
edit
dl
rm
path_support.rb
1928
0644
edit
dl
rm
platform.rb
6401
0644
edit
dl
rm
psych_additions.rb
300
0644
edit
dl
rm
psych_tree.rb
796
0644
edit
dl
rm
rdoc.rb
524
0644
edit
dl
rm
remote_fetcher.rb
9709
0644
edit
dl
rm
request.rb
8909
0644
edit
dl
rm
request_set.rb
12230
0644
edit
dl
rm
requirement.rb
7323
0644
edit
dl
rm
resolver.rb
9682
0644
edit
dl
rm
s3_uri_signer.rb
6070
0644
edit
dl
rm
safe_yaml.rb
1591
0644
edit
dl
rm
security.rb
21751
0644
edit
dl
rm
security_option.rb
1056
0644
edit
dl
rm
server.rb
23270
0644
edit
dl
rm
source.rb
5511
0644
edit
dl
rm
source_list.rb
2610
0644
edit
dl
rm
source_local.rb
274
0644
edit
dl
rm
source_specific_file.rb
272
0644
edit
dl
rm
specification.rb
72481
0644
edit
dl
rm
specification_policy.rb
11950
0644
edit
dl
rm
spec_fetcher.rb
6450
0644
edit
dl
rm
stub_specification.rb
4857
0644
edit
dl
rm
syck_hack.rb
2170
0644
edit
dl
rm
test_case.rb
40880
0644
edit
dl
rm
test_utilities.rb
9054
0644
edit
dl
rm
text.rb
1894
0644
edit
dl
rm
uninstaller.rb
9043
0644
edit
dl
rm
uri_formatter.rb
778
0644
edit
dl
rm
uri_parser.rb
785
0644
edit
dl
rm
uri_parsing.rb
324
0644
edit
dl
rm
user_interaction.rb
13624
0644
edit
dl
rm
util.rb
2465
0644
edit
dl
rm
validator.rb
3739
0644
edit
dl
rm
version.rb
12744
0644
edit
dl
rm
version_option.rb
2066
0644
edit
dl
rm
Edit:
/opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rubygems/dependency_list.rb
(5673B)
# frozen_string_literal: true #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ require 'tsort' require 'rubygems/deprecate' ## # Gem::DependencyList is used for installing and uninstalling gems in the # correct order to avoid conflicts. #-- # TODO: It appears that all but topo-sort functionality is being duplicated # (or is planned to be duplicated) elsewhere in rubygems. Is the majority of # this class necessary anymore? Especially #ok?, #why_not_ok? class Gem::DependencyList attr_reader :specs include Enumerable include TSort ## # Allows enabling/disabling use of development dependencies attr_accessor :development ## # Creates a DependencyList from the current specs. def self.from_specs list = new list.add(*Gem::Specification.to_a) list end ## # Creates a new DependencyList. If +development+ is true, development # dependencies will be included. def initialize(development = false) @specs = [] @development = development end ## # Adds +gemspecs+ to the dependency list. def add(*gemspecs) @specs.concat gemspecs end def clear @specs.clear end ## # Return a list of the gem specifications in the dependency list, sorted in # order so that no gemspec in the list depends on a gemspec earlier in the # list. # # This is useful when removing gems from a set of installed gems. By # removing them in the returned order, you don't get into as many dependency # issues. # # If there are circular dependencies (yuck!), then gems will be returned in # order until only the circular dependents and anything they reference are # left. Then arbitrary gemspecs will be returned until the circular # dependency is broken, after which gems will be returned in dependency # order again. def dependency_order sorted = strongly_connected_components.flatten result = [] seen = {} sorted.each do |spec| if index = seen[spec.name] if result[index].version < spec.version result[index] = spec end else seen[spec.name] = result.length result << spec end end result.reverse end ## # Iterator over dependency_order def each(&block) dependency_order.each(&block) end def find_name(full_name) @specs.find { |spec| spec.full_name == full_name } end def inspect # :nodoc: "%s %p>" % [super[0..-2], map { |s| s.full_name }] end ## # Are all the dependencies in the list satisfied? def ok? why_not_ok?(:quick).empty? end def why_not_ok?(quick = false) unsatisfied = Hash.new { |h,k| h[k] = [] } each do |spec| spec.runtime_dependencies.each do |dep| inst = Gem::Specification.any? do |installed_spec| dep.name == installed_spec.name and dep.requirement.satisfied_by? installed_spec.version end unless inst or @specs.find { |s| s.satisfies_requirement? dep } unsatisfied[spec.name] << dep return unsatisfied if quick end end end unsatisfied end ## # It is ok to remove a gemspec from the dependency list? # # If removing the gemspec creates breaks a currently ok dependency, then it # is NOT ok to remove the gemspec. def ok_to_remove?(full_name, check_dev=true) gem_to_remove = find_name full_name # If the state is inconsistent, at least don't crash return true unless gem_to_remove siblings = @specs.find_all do |s| s.name == gem_to_remove.name && s.full_name != gem_to_remove.full_name end deps = [] @specs.each do |spec| check = check_dev ? spec.dependencies : spec.runtime_dependencies check.each do |dep| deps << dep if gem_to_remove.satisfies_requirement?(dep) end end deps.all? do |dep| siblings.any? do |s| s.satisfies_requirement? dep end end end ## # Remove everything in the DependencyList that matches but doesn't # satisfy items in +dependencies+ (a hash of gem names to arrays of # dependencies). def remove_specs_unsatisfied_by(dependencies) specs.reject! do |spec| dep = dependencies[spec.name] dep and not dep.requirement.satisfied_by? spec.version end end ## # Removes the gemspec matching +full_name+ from the dependency list def remove_by_name(full_name) @specs.delete_if { |spec| spec.full_name == full_name } end ## # Return a hash of predecessors. <tt>result[spec]</tt> is an Array of # gemspecs that have a dependency satisfied by the named gemspec. def spec_predecessors result = Hash.new { |h,k| h[k] = [] } specs = @specs.sort.reverse specs.each do |spec| specs.each do |other| next if spec == other other.dependencies.each do |dep| if spec.satisfies_requirement? dep result[spec] << other end end end end result end def tsort_each_node(&block) @specs.each(&block) end def tsort_each_child(node) specs = @specs.sort.reverse dependencies = node.runtime_dependencies dependencies.push(*node.development_dependencies) if @development dependencies.each do |dep| specs.each do |spec| if spec.satisfies_requirement? dep yield spec break end end end end private ## # Count the number of gemspecs in the list +specs+ that are not in # +ignored+. def active_count(specs, ignored) specs.count { |spec| ignored[spec.full_name].nil? } end end
Save
cmd:
run