rubyzip/rubyzip — pull request #185 by maneframe (2014-08-29 15:35:11+00:00)
Title: prevent tempfile path from being unlinked by garbage collection

In one of our tests, we noticed that we were getting intermittent `Errno::ENOENT: No such file or directory` errors here when reaching `::File.rename(tmp_filename, self.name)`.

After some investigation I found that the garbage collector happened to be running the finalizer for `tmpfile` during the entry writing block in `File#commit`, which tries to unlink the file (and succeeds if you're on a non-Windows environment).