summaryrefslogtreecommitdiff
path: root/lib/rubygems
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-04-20 19:58:00 +0900
committergit <svn-admin@ruby-lang.org>2024-04-21 23:47:47 +0000
commit9b580ee7b6cb0bebf977a7cd50285ba48b671e87 (patch)
treeb717578ea7e2e168c8fdce8b6510500414e73d3d /lib/rubygems
parentf87c216c948958aedaade6a5a4900ed83c13ceea (diff)
[rubygems/rubygems] Clear temporary directory
https://github.com/rubygems/rubygems/commit/4158034d89
Diffstat (limited to 'lib/rubygems')
-rw-r--r--lib/rubygems/commands/update_command.rb17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/rubygems/commands/update_command.rb b/lib/rubygems/commands/update_command.rb
index 3d6fecaa40..8e80d46856 100644
--- a/lib/rubygems/commands/update_command.rb
+++ b/lib/rubygems/commands/update_command.rb
@@ -197,18 +197,17 @@ command to remove old versions.
yield
else
require "tmpdir"
- tmpdir = Dir.mktmpdir
- FileUtils.mv Gem.plugindir, tmpdir
+ Dir.mktmpdir("gem_update") do |tmpdir|
+ FileUtils.mv Gem.plugindir, tmpdir
- status = yield
+ status = yield
- if status
- FileUtils.rm_rf tmpdir
- else
- FileUtils.mv File.join(tmpdir, "plugins"), Gem.plugindir
- end
+ unless status
+ FileUtils.mv File.join(tmpdir, "plugins"), Gem.plugindir
+ end
- status
+ status
+ end
end
end