class Macinbox::Collector
Public Class Methods
new(preserve_temp_dirs: false)
click to toggle source
# File lib/macinbox/collector.rb, line 6 def initialize(preserve_temp_dirs: false) @temp_dirs = [] @blocks = [] @preserve_temp_dirs = preserve_temp_dirs end
Public Instance Methods
add_temp_dir(temp_dir)
click to toggle source
# File lib/macinbox/collector.rb, line 11 def add_temp_dir(temp_dir) @temp_dirs << temp_dir end
cleanup!()
click to toggle source
# File lib/macinbox/collector.rb, line 28 def cleanup! @blocks.reverse.each do |block| block.call end remove_temp_dirs @blocks = [] @temp_dirs = [] end
on_cleanup(&block)
click to toggle source
# File lib/macinbox/collector.rb, line 25 def on_cleanup(&block) @blocks << block end
remove_temp_dirs()
click to toggle source
# File lib/macinbox/collector.rb, line 14 def remove_temp_dirs if @preserve_temp_dirs temp_dir_args = @temp_dirs.reverse.map { |o| o.shellescape }.join(" \\\n") Logger.error "WARNING: Temporary files were not removed. Run this command to remove them:" Logger.error "sudo rm -rf #{temp_dir_args}" else @temp_dirs.reverse_each do |temp_dir| FileUtils.remove_dir(temp_dir) end end end