diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-12-12 11:52:09 +0000 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-12-21 18:40:55 +0100 |
commit | e5b7153465558deaa74928bd9a4643c748bd8fdb (patch) | |
tree | 5c516e089c1e39725a204cd73dc3f72d4b4ba620 | |
parent | b05c823f6e47c7483aedbb72ae8d2a852fd8244a (diff) | |
download | bundler-e5b7153465558deaa74928bd9a4643c748bd8fdb.tar.gz |
[SharedHelpers] Speed up #clean_load_path
-rw-r--r-- | lib/bundler/shared_helpers.rb | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/bundler/shared_helpers.rb b/lib/bundler/shared_helpers.rb index f2b043ed62..613609f25f 100644 --- a/lib/bundler/shared_helpers.rb +++ b/lib/bundler/shared_helpers.rb @@ -216,22 +216,20 @@ module Bundler def bundler_ruby_lib File.expand_path("../..", __FILE__) end - private :bundler_ruby_lib def clean_load_path # handle 1.9 where system gems are always on the load path - if defined?(::Gem) - me = File.expand_path("../../", __FILE__) - me = /^#{Regexp.escape(me)}/ + return unless defined?(::Gem) - loaded_gem_paths = Bundler.rubygems.loaded_gem_paths + bundler_lib = bundler_ruby_lib - $LOAD_PATH.reject! do |p| - next if File.expand_path(p) =~ me - loaded_gem_paths.delete(p) - end - $LOAD_PATH.uniq! + loaded_gem_paths = Bundler.rubygems.loaded_gem_paths + + $LOAD_PATH.reject! do |p| + next if File.expand_path(p).start_with?(bundler_lib) + loaded_gem_paths.delete(p) end + $LOAD_PATH.uniq! end def prints_major_deprecations? |