Sha256: 1f3c7bd20e5660d49a241c38e9b0dca0a71e83a398a2cb7854cd81428434b72e

Contents?: true

Size: 967 Bytes

Versions: 1

Compression:

Stored size: 967 Bytes

Contents

# encoding: utf-8

class File
  # determine whether a String path is absolute.
  # @example
  #   File.absolute_path?('foo') #=> false
  #   File.absolute_path?('/foo') #=> true
  #   File.absolute_path?('foo/bar') #=> false
  #   File.absolute_path?('/foo/bar') #=> true
  #   File.absolute_path?('C:foo/bar') #=> false
  #   File.absolute_path?('C:/foo/bar') #=> true
  # @param [String] - a pathname
  # @return [Boolean]
  def self.absolute_path?(path)
    false | path[ABSOLUTE_PATH_PATTERN]
  end

  unless defined?(POSIX_ABSOLUTE_PATH_PATTERN)
    POSIX_ABSOLUTE_PATH_PATTERN = /\A\//.freeze
  end

  unless defined?(WINDOWS_ABSOLUTE_PATH_PATTERN)
    WINDOWS_ABSOLUTE_PATH_PATTERN = Regexp.union(
      POSIX_ABSOLUTE_PATH_PATTERN,
      /\A([A-Z]:)?(\\|\/)/i
    ).freeze
  end

  ABSOLUTE_PATH_PATTERN = begin
    File::ALT_SEPARATOR ?
      WINDOWS_ABSOLUTE_PATH_PATTERN :
      POSIX_ABSOLUTE_PATH_PATTERN
  end unless defined?(ABSOLUTE_PATH_PATTERN)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cliver-0.2.2 lib/core_ext/file.rb