Reduce scope of ensure block, remove conditionals

This commit is contained in:
Jack Nagel 2015-03-10 23:26:22 -04:00
parent b149580632
commit 316d8d756c

View File

@ -14,14 +14,17 @@ module FileUtils
# /tmp volume to the other volume. So we let the user override the tmp # /tmp volume to the other volume. So we let the user override the tmp
# prefix if they need to. # prefix if they need to.
tempd = with_system_path { `mktemp -d #{HOMEBREW_TEMP}/#{prefix}-XXXXXX` }.chuzzle tempd = with_system_path { `mktemp -d #{HOMEBREW_TEMP}/#{prefix}-XXXXXX` }.strip
raise "Failed to create sandbox" if tempd.nil? raise "Failed to create sandbox" if tempd.empty?
prevd = pwd prevd = pwd
cd tempd cd(tempd)
yield
ensure begin
cd prevd if prevd yield
ignore_interrupts{ rm_r tempd } if tempd ensure
cd(prevd)
ignore_interrupts { rm_r(tempd) }
end
end end
module_function :mktemp module_function :mktemp