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
|
@token_conflicts = token_conflicts
|
||||||
@only = only || []
|
@only = only || []
|
||||||
@except = except || []
|
@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
|
end
|
||||||
|
|
||||||
def run!
|
def run!
|
||||||
@ -540,6 +534,12 @@ module Cask
|
|||||||
|
|
||||||
@tmpdir ||= Pathname(Dir.mktmpdir("cask-audit", HOMEBREW_TEMP))
|
@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"
|
ohai "Downloading and extracting artifacts"
|
||||||
|
|
||||||
downloaded_path = download.fetch
|
downloaded_path = download.fetch
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user