From aac6e6da67395178edb34ed9fd0cd6279f8cc579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Tue, 26 Nov 2019 22:27:17 +0100 Subject: [PATCH] Lazily load `open3` Since it's a default gem now, it's better to load it as late as possible. --- lib/bundler/source/git/git_proxy.rb | 3 ++- spec/support/helpers.rb | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bundler/source/git/git_proxy.rb b/lib/bundler/source/git/git_proxy.rb index 2a4d7138a41..671610e7c1b 100644 --- a/lib/bundler/source/git/git_proxy.rb +++ b/lib/bundler/source/git/git_proxy.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require "open3" require "shellwords" module Bundler @@ -243,12 +242,14 @@ def allowed_in_path end def capture_and_filter_stderr(uri, cmd) + require "open3" return_value, captured_err, status = Open3.capture3(cmd) Bundler.ui.warn URICredentialsFilter.credential_filtered_string(captured_err, uri) if uri && !captured_err.empty? [return_value, status] end def capture_and_ignore_stderr(cmd) + require "open3" return_value, _, status = Open3.capture3(cmd) [return_value, status] end diff --git a/spec/support/helpers.rb b/spec/support/helpers.rb index d085b769d73..95c2d60d563 100644 --- a/spec/support/helpers.rb +++ b/spec/support/helpers.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require "open3" - require_relative "command_execution" require_relative "the_bundle" @@ -211,6 +209,7 @@ def sys_exec(cmd, env = {}) env = env.map {|k, v| [k.to_s, v.to_s] }.to_h # convert env keys and values to string + require "open3" Open3.popen3(env, cmd.to_s) do |stdin, stdout, stderr, wait_thr| yield stdin, stdout, wait_thr if block_given? stdin.close