summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2019-04-28 12:58:35 +0200
committerDavid Rodríguez <deivid.rodriguez@riseup.net>2019-04-28 13:45:50 +0200
commit1a1aee906d32acbbe2aa4053ea2751231b357ee6 (patch)
tree2f793cb2a38697bb2de4a11aa7b9ae8020ef26e2
parent930d2f97c590bbcaa15a50c8e467e0b871379a68 (diff)
downloadbundler-1a1aee906d32acbbe2aa4053ea2751231b357ee6.tar.gz
Move common logic to rubygems integration
And use the rubygems method if available.
-rw-r--r--lib/bundler/plugin.rb15
-rw-r--r--lib/bundler/rubygems_integration.rb12
-rw-r--r--lib/bundler/runtime.rb8
3 files changed, 16 insertions, 19 deletions
diff --git a/lib/bundler/plugin.rb b/lib/bundler/plugin.rb
index 02985fa9b0..ffb3ee9883 100644
--- a/lib/bundler/plugin.rb
+++ b/lib/bundler/plugin.rb
@@ -256,7 +256,7 @@ module Bundler
@hooks_by_event = Hash.new {|h, k| h[k] = [] }
load_paths = spec.load_paths
- add_to_load_path(load_paths)
+ Bundler.rubygems.add_to_load_path(load_paths)
path = Pathname.new spec.full_gem_path
begin
@@ -288,7 +288,7 @@ module Bundler
# done to avoid conflicts
path = index.plugin_path(name)
- add_to_load_path(index.load_paths(name))
+ Bundler.rubygems.add_to_load_path(index.load_paths(name))
load path.join(PLUGIN_FILE_NAME)
@@ -298,17 +298,8 @@ module Bundler
raise
end
- def add_to_load_path(load_paths)
- if insert_index = Bundler.rubygems.load_path_insert_index
- $LOAD_PATH.insert(insert_index, *load_paths)
- else
- $LOAD_PATH.unshift(*load_paths)
- end
- end
-
class << self
- private :load_plugin, :register_plugin, :save_plugins, :validate_plugin!,
- :add_to_load_path
+ private :load_plugin, :register_plugin, :save_plugins, :validate_plugin!
end
end
end
diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb
index ae1c1943e5..eea5c04516 100644
--- a/lib/bundler/rubygems_integration.rb
+++ b/lib/bundler/rubygems_integration.rb
@@ -47,6 +47,18 @@ module Bundler
Gem.loaded_specs[name]
end
+ def add_to_load_path(paths)
+ return Gem.add_to_load_path(*paths) if Gem.respond_to?(:add_to_load_path)
+
+ if insert_index = load_path_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
+ end
+
def mark_loaded(spec)
if spec.respond_to?(:activated=)
current = Gem.loaded_specs[spec.name]
diff --git a/lib/bundler/runtime.rb b/lib/bundler/runtime.rb
index 7d67453813..93a801eb6c 100644
--- a/lib/bundler/runtime.rb
+++ b/lib/bundler/runtime.rb
@@ -34,13 +34,7 @@ module Bundler
spec.load_paths.reject {|path| $LOAD_PATH.include?(path) }
end.reverse.flatten
- if insert_index = Bundler.rubygems.load_path_insert_index
- # Gem directories must come after -I and ENV['RUBYLIB']
- $LOAD_PATH.insert(insert_index, *load_paths)
- else
- # We are probably testing in core, -I and RUBYLIB don't apply
- $LOAD_PATH.unshift(*load_paths)
- end
+ Bundler.rubygems.add_to_load_path(load_paths)
setup_manpath