「特定の環境変数を上書きして複数の外部コマンドを実行する」というコードを脳に優しく書けるようにするために、ブロック付きメソッドを活用して Lisp の with-* マクロのような構文をつくる。 with_env - 環境変数を上書きしてブロックを実行する 「特定の環境変数を上書きして複数の外部コマンドを実行する」用のユーティリティメソッド。ブロックの中でだけ環境変数を変更できる。 def with_env(env, &block) original_env = ENV.to_hash ENV.update(env) yield if block_given? ensure ENV.replace(original_env) end env = {'GEM_HOME' => nil, 'BUNDLE_GEMFILE' => nil} with_env(env) do system('bun