diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-12-18 16:38:25 +0100 |
---|---|---|
committer | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-12-18 17:07:31 +0100 |
commit | 4df7b22f53ed5113bd988a4831135b9a617f9a5f (patch) | |
tree | 74d789512b9161caeda33baa73006275dfd4de81 | |
parent | e92ab5e72445d3f4048fa610db73b239c7a1ec5e (diff) | |
download | bundler-4df7b22f53ed5113bd988a4831135b9a617f9a5f.tar.gz |
Make sure to `require "rubygems"` explicitlyrequire_rubygems
Some setups have `--disable=gems` in `RUBYOPT`, and sometimes use
`bundler` without modifying that env. Let's not break those setups just
to save a `require`.
-rw-r--r-- | lib/bundler/rubygems_integration.rb | 2 | ||||
-rw-r--r-- | spec/runtime/setup_spec.rb | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index 17f2d7d9fa..f06e8d68a9 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "rubygems" + module Bundler class RubygemsIntegration if defined?(Gem::Ext::Builder::CHDIR_MONITOR) diff --git a/spec/runtime/setup_spec.rb b/spec/runtime/setup_spec.rb index befc5f9d09..39240b7404 100644 --- a/spec/runtime/setup_spec.rb +++ b/spec/runtime/setup_spec.rb @@ -1344,5 +1344,11 @@ end expect(last_command.stdboth).not_to include "FAIL" expect(err).to include "private method `require'" end + + it "takes care of requiring rubygems" do + sys_exec("#{Gem.ruby} -I#{lib_dir} -e \"puts require('bundler/setup')\"", "RUBYOPT" => "--disable=gems") + + expect(last_command.stdboth).to eq("true") + end end end |