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 15
15:     def mktmpdir(prefix_suffix=nil, tmpdir=nil)
16:       raise NoMethodError, "undefined method `mktmpdir' for Dir:Class; you must require 'tmpdir'" unless respond_to? :tmpdir
17: 
18:       case prefix_suffix
19:       when nil
20:         prefix = "d"
21:         suffix = ""
22:       when String
23:         prefix = prefix_suffix
24:         suffix = ""
25:       when Array
26:         prefix = prefix_suffix[0]
27:         suffix = prefix_suffix[1]
28:       else
29:         raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"
30:       end
31:       tmpdir ||= Dir.tmpdir
32:       t = Time.now.strftime("%Y%m%d")
33:       n = nil
34:       begin
35:         path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{Kernel.rand(0x100000000).to_s(36)}"
36:         path << "-#{n}" if n
37:         path << suffix
38:         Dir.mkdir(path, 0700)
39:       rescue Errno::EEXIST
40:         n ||= 0
41:         n += 1
42:         retry
43:       end
44: 
45:       if block_given?
46:         begin
47:           yield path
48:         ensure
49:           FileUtils.remove_entry_secure path
50:         end
51:       else
52:         path
53:       end
54:     end

[Validate]