opt
/
alt
/
ruby26
/
lib64
/
ruby
/
2.6.0
/
bundler
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] cli
N/A
[DIR] compact_index_client
N/A
[DIR] fetcher
N/A
[DIR] installer
N/A
[DIR] plugin
N/A
[DIR] resolver
N/A
[DIR] settings
N/A
[DIR] source
N/A
[DIR] ssl_certs
N/A
[DIR] templates
N/A
[DIR] ui
N/A
[DIR] vendor
N/A
build_metadata.rb
1.61 KB
Rename
Delete
capistrano.rb
879 bytes
Rename
Delete
cli.rb
35.12 KB
Rename
Delete
compact_index_client.rb
3.27 KB
Rename
Delete
compatibility_guard.rb
518 bytes
Rename
Delete
constants.rb
212 bytes
Rename
Delete
current_ruby.rb
2.19 KB
Rename
Delete
definition.rb
36.44 KB
Rename
Delete
dep_proxy.rb
827 bytes
Rename
Delete
dependency.rb
4.43 KB
Rename
Delete
deployment.rb
3.19 KB
Rename
Delete
deprecate.rb
876 bytes
Rename
Delete
dsl.rb
21.46 KB
Rename
Delete
endpoint_specification.rb
3.91 KB
Rename
Delete
env.rb
5.22 KB
Rename
Delete
environment_preserver.rb
1.31 KB
Rename
Delete
errors.rb
4.59 KB
Rename
Delete
feature_flag.rb
3.07 KB
Rename
Delete
fetcher.rb
10.83 KB
Rename
Delete
friendly_errors.rb
4.33 KB
Rename
Delete
gem_helper.rb
5.88 KB
Rename
Delete
gem_helpers.rb
3.19 KB
Rename
Delete
gem_remote_fetcher.rb
1.46 KB
Rename
Delete
gem_tasks.rb
137 bytes
Rename
Delete
gem_version_promoter.rb
6.52 KB
Rename
Delete
gemdeps.rb
423 bytes
Rename
Delete
graph.rb
5.00 KB
Rename
Delete
index.rb
5.24 KB
Rename
Delete
injector.rb
8.61 KB
Rename
Delete
inline.rb
2.33 KB
Rename
Delete
installer.rb
11.85 KB
Rename
Delete
lazy_specification.rb
3.62 KB
Rename
Delete
lockfile_generator.rb
2.18 KB
Rename
Delete
lockfile_parser.rb
8.62 KB
Rename
Delete
match_platform.rb
659 bytes
Rename
Delete
mirror.rb
5.79 KB
Rename
Delete
plugin.rb
9.12 KB
Rename
Delete
process_lock.rb
702 bytes
Rename
Delete
psyched_yaml.rb
853 bytes
Rename
Delete
remote_specification.rb
3.46 KB
Rename
Delete
resolver.rb
14.20 KB
Rename
Delete
retry.rb
1.60 KB
Rename
Delete
ruby_dsl.rb
761 bytes
Rename
Delete
ruby_version.rb
4.96 KB
Rename
Delete
rubygems_ext.rb
5.88 KB
Rename
Delete
rubygems_gem_installer.rb
3.49 KB
Rename
Delete
rubygems_integration.rb
25.01 KB
Rename
Delete
runtime.rb
10.95 KB
Rename
Delete
settings.rb
12.38 KB
Rename
Delete
setup.rb
720 bytes
Rename
Delete
shared_helpers.rb
12.00 KB
Rename
Delete
similarity_detector.rb
1.84 KB
Rename
Delete
source.rb
2.66 KB
Rename
Delete
source_list.rb
5.87 KB
Rename
Delete
spec_set.rb
5.34 KB
Rename
Delete
stub_specification.rb
2.78 KB
Rename
Delete
ui.rb
198 bytes
Rename
Delete
uri_credentials_filter.rb
1.20 KB
Rename
Delete
vendored_fileutils.rb
192 bytes
Rename
Delete
vendored_molinillo.rb
100 bytes
Rename
Delete
vendored_persistent.rb
1.61 KB
Rename
Delete
vendored_thor.rb
193 bytes
Rename
Delete
version.rb
821 bytes
Rename
Delete
version_ranges.rb
2.86 KB
Rename
Delete
vlad.rb
466 bytes
Rename
Delete
worker.rb
2.57 KB
Rename
Delete
yaml_serializer.rb
2.41 KB
Rename
Delete
# frozen_string_literal: true require "set" module Bundler class Index include Enumerable def self.build i = new yield i i end attr_reader :specs, :all_specs, :sources protected :specs, :all_specs RUBY = "ruby".freeze NULL = "\0".freeze def initialize @sources = [] @cache = {} @specs = Hash.new {|h, k| h[k] = {} } @all_specs = Hash.new {|h, k| h[k] = EMPTY_SEARCH } end def initialize_copy(o) @sources = o.sources.dup @cache = {} @specs = Hash.new {|h, k| h[k] = {} } @all_specs = Hash.new {|h, k| h[k] = EMPTY_SEARCH } o.specs.each do |name, hash| @specs[name] = hash.dup end o.all_specs.each do |name, array| @all_specs[name] = array.dup end end def inspect "#<#{self.class}:0x#{object_id} sources=#{sources.map(&:inspect)} specs.size=#{specs.size}>" end def empty? each { return false } true end def search_all(name) all_matches = local_search(name) + @all_specs[name] @sources.each do |source| all_matches.concat(source.search_all(name)) end all_matches end # Search this index's specs, and any source indexes that this index knows # about, returning all of the results. def search(query, base = nil) sort_specs(unsorted_search(query, base)) end def unsorted_search(query, base) results = local_search(query, base) seen = results.map(&:full_name).to_set unless @sources.empty? @sources.each do |source| source.unsorted_search(query, base).each do |spec| results << spec if seen.add?(spec.full_name) end end results end protected :unsorted_search def self.sort_specs(specs) specs.sort_by do |s| platform_string = s.platform.to_s [s.version, platform_string == RUBY ? NULL : platform_string] end end def sort_specs(specs) self.class.sort_specs(specs) end def local_search(query, base = nil) case query when Gem::Specification, RemoteSpecification, LazySpecification, EndpointSpecification then search_by_spec(query) when String then specs_by_name(query) when Gem::Dependency then search_by_dependency(query, base) when DepProxy then search_by_dependency(query.dep, base) else raise "You can't search for a #{query.inspect}." end end alias_method :[], :search def <<(spec) @specs[spec.name][spec.full_name] = spec spec end def each(&blk) return enum_for(:each) unless blk specs.values.each do |spec_sets| spec_sets.values.each(&blk) end sources.each {|s| s.each(&blk) } self end def spec_names names = specs.keys + sources.map(&:spec_names) names.uniq! names end # returns a list of the dependencies def unmet_dependency_names dependency_names.select do |name| name != "bundler" && search(name).empty? end end def dependency_names names = [] each do |spec| spec.dependencies.each do |dep| next if dep.type == :development names << dep.name end end names.uniq end def use(other, override_dupes = false) return unless other other.each do |s| if (dupes = search_by_spec(s)) && !dupes.empty? # safe to << since it's a new array when it has contents @all_specs[s.name] = dupes << s next unless override_dupes end self << s end self end def size @sources.inject(@specs.size) do |size, source| size += source.size end end # Whether all the specs in self are in other # TODO: rename to #include? def ==(other) all? do |spec| other_spec = other[spec].first other_spec && dependencies_eql?(spec, other_spec) && spec.source == other_spec.source end end def dependencies_eql?(spec, other_spec) deps = spec.dependencies.select {|d| d.type != :development } other_deps = other_spec.dependencies.select {|d| d.type != :development } Set.new(deps) == Set.new(other_deps) end def add_source(index) raise ArgumentError, "Source must be an index, not #{index.class}" unless index.is_a?(Index) @sources << index @sources.uniq! # need to use uniq! here instead of checking for the item before adding end private def specs_by_name(name) @specs[name].values end def search_by_dependency(dependency, base = nil) @cache[base || false] ||= {} @cache[base || false][dependency] ||= begin specs = specs_by_name(dependency.name) specs += base if base found = specs.select do |spec| next true if spec.source.is_a?(Source::Gemspec) if base # allow all platforms when searching from a lockfile dependency.matches_spec?(spec) else dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) end end found end end EMPTY_SEARCH = [].freeze def search_by_spec(spec) spec = @specs[spec.name][spec.full_name] spec ? [spec] : EMPTY_SEARCH end end end
Save