Class Dir
In: lib/backports/1.8.7/dir.rb
lib/backports/1.9.1/dir.rb
Parent: Object

Methods

home   mktmpdir  

External Aliases

to_path -> self

Public Class methods

[Source]

   # File lib/backports/1.9.2/dir.rb, line 2
2:   def home(user = "")
3:     File.expand_path "~#{user}"
4:   end

[Source]

    # File lib/backports/1.8.7/dir.rb, line 6
 6:     def mktmpdir(prefix_suffix=nil, tmpdir=nil)
 7:       raise NoMethodError, "undefined method `mktmpdir' for Dir:Class; you must require 'tmpdir'" unless respond_to? :tmpdir
 8:       
 9:       case prefix_suffix
10:       when nil
11:         prefix = "d"
12:         suffix = ""
13:       when String
14:         prefix = prefix_suffix
15:         suffix = ""
16:       when Array
17:         prefix = prefix_suffix[0]
18:         suffix = prefix_suffix[1]
19:       else
20:         raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"
21:       end
22:       tmpdir ||= Dir.tmpdir
23:       t = Time.now.strftime("%Y%m%d")
24:       n = nil
25:       begin
26:         path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{Kernel.rand(0x100000000).to_s(36)}"
27:         path << "-#{n}" if n
28:         path << suffix
29:         Dir.mkdir(path, 0700)
30:       rescue Errno::EEXIST
31:         n ||= 0
32:         n += 1
33:         retry
34:       end
35: 
36:       if block_given?
37:         begin
38:           yield path
39:         ensure
40:           FileUtils.remove_entry_secure path
41:         end
42:       else
43:         path
44:       end
45:     end

[Validate]