* Leave BUNDLE_GEMFILE unset in workers if it was unset in the master
Co-Authored-By: Tim Morgan <tim@timmorgan.org>
* Use Bundler.original_env instead of raw environment variables
Co-authored-by: Tim Morgan <tim@timmorgan.org>
Co-authored-by: Nate Berkopec <nate.berkopec@gmail.com>
Starting your server with BUNDLE_GEMFILE=Gemfile.rails6 would delete this
environment variable on app restart when using --prune-bundler, when all
you really want is to restore the variable to what it was before Bundler
was activated.
Writing a test for this proved to be difficult because the bug only seems
to manifest itself when running the server under the following conditions:
- Using `bundle exec` to run the puma command
- Using a non-zero number of workers, e.g. `-w 2`
- Setting `BUNDLE_GEMFILE` to something other than "Gemfile"