cask/audit: Rework tmpdir removal
I previously introduced a finalizer method in `Cask::Audit` to remove the created `@tmpdir` once it's no longer needed but the existing approach produces a `finalizer references object to be finalized` warning when `brew audit` is run. I didn't see this warning when I was originally testing it but now it reliably appears. This reworks the finalizer to define it within the `#extract_artifacts` method and use `@tmpdir` as the target object.
This commit is contained in:
parent
44d0d64e79
commit
e2220ecc42
@ -47,12 +47,6 @@ module Cask
|
||||
@token_conflicts = token_conflicts
|
||||
@only = only || []
|
||||
@except = except || []
|
||||
|
||||
# Clean up `#extract_artifacts` tmp dir when Audit object is destroyed
|
||||
ObjectSpace.define_finalizer(
|
||||
self,
|
||||
proc { FileUtils.remove_entry(@tmpdir) if @tmpdir },
|
||||
)
|
||||
end
|
||||
|
||||
def run!
|
||||
@ -540,6 +534,12 @@ module Cask
|
||||
|
||||
@tmpdir ||= Pathname(Dir.mktmpdir("cask-audit", HOMEBREW_TEMP))
|
||||
|
||||
# Clean up tmp dir when @tmpdir object is destroyed
|
||||
ObjectSpace.define_finalizer(
|
||||
@tmpdir,
|
||||
proc { FileUtils.remove_entry(@tmpdir) },
|
||||
)
|
||||
|
||||
ohai "Downloading and extracting artifacts"
|
||||
|
||||
downloaded_path = download.fetch
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user