class Asperalm::TempFileManager
create a temp file name for a given folder files can be deleted on process exit by calling cleanup
Public Class Methods
new()
click to toggle source
# File lib/asperalm/temp_file_manager.rb, line 10 def initialize @created_files=[] end
Public Instance Methods
cleanup()
click to toggle source
call this on process exit
# File lib/asperalm/temp_file_manager.rb, line 15 def cleanup @created_files.each do |filepath| File.delete(filepath) if File.file?(filepath) end @created_files=[] end
new_file_path_global(base_name)
click to toggle source
same as above but in global temp folder
# File lib/asperalm/temp_file_manager.rb, line 32 def new_file_path_global(base_name) username = Etc.getlogin || Etc.getpwuid(Process.uid).name || 'unknown_user' rescue 'unknown_user' return new_file_path_in_folder(Etc.systmpdir,base_name+'_'+username+'_') end
new_file_path_in_folder(temp_folder,add_base='')
click to toggle source
ensure that provided folder exists, or create it, generate a unique filename @return path to that unique file
# File lib/asperalm/temp_file_manager.rb, line 24 def new_file_path_in_folder(temp_folder,add_base='') FileUtils::mkdir_p(temp_folder) unless Dir.exist?(temp_folder) new_file=File.join(temp_folder,add_base+SecureRandom.uuid) @created_files.push(new_file) return new_file end