Sha256: 5eb291e2152ff5f9c33f1d4c559bcd75efd20848e24343fa6acb213a9869e984

Contents?: true

Size: 893 Bytes

Versions: 99

Compression:

Stored size: 893 Bytes

Contents

class Dir
  # @api private
  def self.mktmpdir(prefix_suffix=nil, tmpdir=nil)
    case prefix_suffix
    when nil
      prefix = "d"
      suffix = ""
    when String
      prefix = prefix_suffix
      suffix = ""
    when Array
      prefix = prefix_suffix[0]
      suffix = prefix_suffix[1]
    else
      raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"
    end
    tmpdir ||= Dir.tmpdir
    t = Time.now.strftime("%Y%m%d")
    n = nil
    begin
      path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
      path << "-#{n}" if n
      path << suffix
      Dir.mkdir(path, 0700)
    rescue Errno::EEXIST
      n ||= 0
      n += 1
      retry
    end

    if block_given?
      begin
        yield path
      ensure
        FileUtils.remove_entry_secure path
      end
    else
      path
    end
  end unless respond_to? :mktmpdir # > 1.8.7
end

Version data entries

99 entries across 99 versions & 5 rubygems

Version Path
selenium-webdriver-2.8.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.7.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.6.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.5.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.4.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.3.2 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.3.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.2.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.1.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.0.1 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.0.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.2.2 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.2.1 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.2.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.2.0.dev lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.1.4 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.1.3 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.1.3.dev lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-0.1.2 lib/selenium/webdriver/common/core_ext/dir.rb