lib/bundler.rb in bundler-2.5.20 vs lib/bundler.rb in bundler-2.5.21

- old
+ new

@@ -381,32 +381,16 @@ unbundled_env end # @return [Hash] Environment with all bundler-related variables removed def unbundled_env - env = original_env + unbundle_env(original_env) + end - if env.key?("BUNDLER_ORIG_MANPATH") - env["MANPATH"] = env["BUNDLER_ORIG_MANPATH"] - end - - env.delete_if {|k, _| k[0, 7] == "BUNDLE_" } - - if env.key?("RUBYOPT") - rubyopt = env["RUBYOPT"].split(" ") - rubyopt.delete("-r#{File.expand_path("bundler/setup", __dir__)}") - rubyopt.delete("-rbundler/setup") - env["RUBYOPT"] = rubyopt.join(" ") - end - - if env.key?("RUBYLIB") - rubylib = env["RUBYLIB"].split(File::PATH_SEPARATOR) - rubylib.delete(__dir__) - env["RUBYLIB"] = rubylib.join(File::PATH_SEPARATOR) - end - - env + # Remove all bundler-related variables from ENV + def unbundle_env! + ENV.replace(unbundle_env(ENV)) end # Run block with environment present before Bundler was activated def with_original_env with_env(original_env) { yield } @@ -630,9 +614,33 @@ Bundler::SelfManager.new end end private + + def unbundle_env(env) + if env.key?("BUNDLER_ORIG_MANPATH") + env["MANPATH"] = env["BUNDLER_ORIG_MANPATH"] + end + + env.delete_if {|k, _| k[0, 7] == "BUNDLE_" } + env.delete("BUNDLER_SETUP") + + if env.key?("RUBYOPT") + rubyopt = env["RUBYOPT"].split(" ") + rubyopt.delete("-r#{File.expand_path("bundler/setup", __dir__)}") + rubyopt.delete("-rbundler/setup") + env["RUBYOPT"] = rubyopt.join(" ") + end + + if env.key?("RUBYLIB") + rubylib = env["RUBYLIB"].split(File::PATH_SEPARATOR) + rubylib.delete(__dir__) + env["RUBYLIB"] = rubylib.join(File::PATH_SEPARATOR) + end + + env + end def load_marshal(data, marshal_proc: nil) Marshal.load(data, marshal_proc) rescue TypeError => e raise MarshalError, "#{e.class}: #{e.message}"