Module: Libis::Tools::TempFile
- Defined in:
- lib/libis/tools/temp_file.rb
Class Method Summary collapse
- .dir ⇒ Object
- .file(prefix = '', suffix = '', dir = nil) ⇒ Object
- .name(prefix = '', suffix = '', _dir = nil) ⇒ Object
Class Method Details
.dir ⇒ Object
8 9 10 |
# File 'lib/libis/tools/temp_file.rb', line 8 def self.dir Dir.tmpdir end |
.file(prefix = '', suffix = '', dir = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/libis/tools/temp_file.rb', line 19 def self.file(prefix = '', suffix = '', dir = nil) f = File.open(name(prefix, suffix, dir), 'w') def f.unlink File.unlink self end def f.delete File.delete self end if block_given? x = yield(f) f.close f.delete return x else return f end end |
.name(prefix = '', suffix = '', _dir = nil) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/libis/tools/temp_file.rb', line 12 def self.name(prefix = '', suffix = '', _dir = nil) _dir ||= dir t = Time.now.strftime('%Y%m%d') t = '_' + t unless prefix.empty? File.join(_dir, "#{prefix}#{t}_#{$$}_#{rand(0x100000000).to_s(36)}#{suffix}".freeze) end |