diff options
author | Samuel Giddins <[email protected]> | 2023-08-28 18:31:52 -0700 |
---|---|---|
committer | git <[email protected]> | 2023-08-29 19:31:36 +0000 |
commit | 7a5df9d0ed7cbd0660803074b34623a1f1dc0768 (patch) | |
tree | 0cb3c6c11b33bd9ed8b576baf669ee5f896b02e7 | |
parent | f37f357e808a7435f56946cd603a333feba7691b (diff) |
[rubygems/rubygems] Fix bundle update --redownload
It now does the redownloading/installing just like bundle install --redownload
https://github.com/rubygems/rubygems/commit/3b058e5eca
-rw-r--r-- | lib/bundler/cli/update.rb | 1 | ||||
-rw-r--r-- | spec/bundler/update/redownload_spec.rb | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/bundler/cli/update.rb b/lib/bundler/cli/update.rb index b49182655b..22dd1a78dd 100644 --- a/lib/bundler/cli/update.rb +++ b/lib/bundler/cli/update.rb @@ -63,6 +63,7 @@ module Bundler opts = options.dup opts["update"] = true opts["local"] = options[:local] + opts["force"] = options[:redownload] Bundler.settings.set_command_option_if_given :jobs, opts["jobs"] diff --git a/spec/bundler/update/redownload_spec.rb b/spec/bundler/update/redownload_spec.rb index 147be823f5..b55593d077 100644 --- a/spec/bundler/update/redownload_spec.rb +++ b/spec/bundler/update/redownload_spec.rb @@ -30,5 +30,15 @@ RSpec.describe "bundle update" do bundle "update rack --no-color --redownload" expect(err).not_to include "[DEPRECATED] The `--force` option has been renamed to `--redownload`" end + + it "re-installs installed gems" do + rack_lib = default_bundle_path("gems/rack-1.0.0/lib/rack.rb") + rack_lib.open("w") {|f| f.write("blah blah blah") } + bundle :update, :redownload => true + + expect(out).to include "Installing rack 1.0.0" + expect(rack_lib.open(&:read)).to eq("RACK = '1.0.0'\n") + expect(the_bundle).to include_gems "rack 1.0.0" + end end end |