Sha256: ffb7b97b9cb9bdca3278c3affcd6d092b9493dc507d54bf24b5dfad1a863663f

Contents?: true

Size: 1.66 KB

Versions: 16

Compression:

Stored size: 1.66 KB

Contents

# encoding: utf-8
#
# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

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

16 entries across 16 versions & 2 rubygems

Version Path
tdiary-5.0.2 vendor/bundle/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/core_ext/dir.rb
tdiary-5.0.1 vendor/bundle/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.53.4 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.53.3 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.53.2 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.53.1 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.53.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.52.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.51.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.50.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.49.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.48.1 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.48.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.47.1 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.47.0 lib/selenium/webdriver/common/core_ext/dir.rb
selenium-webdriver-2.46.2 lib/selenium/webdriver/common/core_ext/dir.rb