PATH:
opt
/
alt
/
ruby34
/
share
/
rubygems
/
rubygems
# frozen_string_literal: true module Gem::BundlerVersionFinder def self.bundler_version v = ENV["BUNDLER_VERSION"] v ||= bundle_update_bundler_version return if v == true v ||= lockfile_version return unless v Gem::Version.new(v) end def self.prioritize!(specs) exact_match_index = specs.find_index {|spec| spec.version == bundler_version } return unless exact_match_index specs.unshift(specs.delete_at(exact_match_index)) end def self.bundle_update_bundler_version return unless ["bundle", "bundler"].include? File.basename($0) return unless "update".start_with?(ARGV.first || " ") bundler_version = nil update_index = nil ARGV.each_with_index do |a, i| if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN bundler_version = a end next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/ bundler_version = $1 || true update_index = i end bundler_version end private_class_method :bundle_update_bundler_version def self.lockfile_version return unless contents = lockfile_contents regexp = /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/ return unless contents =~ regexp $1 end private_class_method :lockfile_version def self.lockfile_contents gemfile = ENV["BUNDLE_GEMFILE"] gemfile = nil if gemfile&.empty? unless gemfile begin Gem::Util.traverse_parents(Dir.pwd) do |directory| next unless gemfile = Gem::GEM_DEP_FILES.find {|f| File.file?(f) } gemfile = File.join directory, gemfile break end rescue Errno::ENOENT return end end return unless gemfile lockfile = case gemfile when "gems.rb" then "gems.locked" else "#{gemfile}.lock" end return unless File.file?(lockfile) File.read(lockfile) end private_class_method :lockfile_contents end
[+]
..
[-] vendored_net_http.rb
[edit]
[+]
resolver
[-] dependency_installer.rb
[edit]
[-] exceptions.rb
[edit]
[-] command.rb
[edit]
[-] source.rb
[edit]
[-] specification.rb
[edit]
[-] path_support.rb
[edit]
[+]
commands
[-] rdoc.rb
[edit]
[+]
util
[-] uri_formatter.rb
[edit]
[+]
ext
[+]
source
[-] compatibility.rb
[edit]
[+]
safe_marshal
[-] openssl.rb
[edit]
[-] version.rb
[edit]
[-] request.rb
[edit]
[-] vendored_timeout.rb
[edit]
[-] request_set.rb
[edit]
[-] update_suggestion.rb
[edit]
[-] remote_fetcher.rb
[edit]
[-] version_option.rb
[edit]
[-] dependency_list.rb
[edit]
[+]
request
[-] uri.rb
[edit]
[-] basic_specification.rb
[edit]
[-] config_file.rb
[edit]
[-] platform.rb
[edit]
[-] gemspec_helpers.rb
[edit]
[-] query_utils.rb
[edit]
[-] install_message.rb
[edit]
[-] gem_runner.rb
[edit]
[-] gemcutter_utilities.rb
[edit]
[-] installer.rb
[edit]
[+]
gemcutter_utilities
[-] available_set.rb
[edit]
[+]
vendor
[-] s3_uri_signer.rb
[edit]
[-] safe_yaml.rb
[edit]
[-] spec_fetcher.rb
[edit]
[-] validator.rb
[edit]
[-] specification_policy.rb
[edit]
[-] util.rb
[edit]
[-] command_manager.rb
[edit]
[-] name_tuple.rb
[edit]
[-] package_task.rb
[edit]
[-] source_list.rb
[edit]
[-] security.rb
[edit]
[+]
defaults
[-] yaml_serializer.rb
[edit]
[-] ext.rb
[edit]
[-] vendored_securerandom.rb
[edit]
[-] local_remote_options.rb
[edit]
[-] psych_tree.rb
[edit]
[-] security_option.rb
[edit]
[+]
request_set
[+]
ssl_certs
[-] errors.rb
[edit]
[-] install_update_options.rb
[edit]
[-] stub_specification.rb
[edit]
[-] dependency.rb
[edit]
[-] user_interaction.rb
[edit]
[-] unknown_command_spell_checker.rb
[edit]
[-] uninstaller.rb
[edit]
[-] package.rb
[edit]
[-] ci_detector.rb
[edit]
[-] deprecate.rb
[edit]
[-] vendored_optparse.rb
[edit]
[-] vendored_molinillo.rb
[edit]
[-] install_default_message.rb
[edit]
[-] bundler_version_finder.rb
[edit]
[-] target_rbconfig.rb
[edit]
[-] installer_uninstaller_utils.rb
[edit]
[-] vendored_tsort.rb
[edit]
[+]
core_ext
[+]
package
[-] requirement.rb
[edit]
[-] safe_marshal.rb
[edit]
[-] doctor.rb
[edit]
[-] resolver.rb
[edit]
[-] specification_record.rb
[edit]
[-] text.rb
[edit]
[-] defaults.rb
[edit]
[+]
security