[rubygems/rubygems] Refactor `Gem.load_path_insert_index`

https://github.com/rubygems/rubygems/commit/ae95885dff
This commit is contained in:
David Rodríguez 2020-05-19 14:08:19 +02:00 коммит произвёл Hiroshi SHIBATA
Родитель a18e81d797
Коммит 5aa5aad48a
2 изменённых файлов: 4 добавлений и 14 удалений

Просмотреть файл

@ -590,7 +590,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
index = $LOAD_PATH.index RbConfig::CONFIG['sitelibdir']
index
index || 0
end
##
@ -607,15 +607,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
def self.add_to_load_path(*paths)
@activated_gem_paths = activated_gem_paths + paths.size
insert_index = load_path_insert_index
if insert_index
# gem directories must come after -I and ENV['RUBYLIB']
$LOAD_PATH.insert(insert_index, *paths)
else
# we are probably testing in core, -I and RUBYLIB don't apply
$LOAD_PATH.unshift(*paths)
end
# gem directories must come after -I and ENV['RUBYLIB']
$LOAD_PATH.insert(Gem.load_path_insert_index, *paths)
end
@yaml_loaded = false

Просмотреть файл

@ -44,10 +44,7 @@ module Kernel
resolved_path = begin
rp = nil
Gem.suffixes.each do |s|
load_path_insert_index = Gem.load_path_insert_index
break unless load_path_insert_index
$LOAD_PATH[0...load_path_insert_index - Gem.activated_gem_paths].each do |lp|
$LOAD_PATH[0...Gem.load_path_insert_index - Gem.activated_gem_paths].each do |lp|
safe_lp = lp.dup.tap(&Gem::UNTAINT)
begin
if File.symlink? safe_lp # for backward compatibility