123456789_123456789_123456789_123456789_123456789_

Module: Rake::Win32

Do not use. This module is for internal use only.
Relationships & Source Files
Namespace Children
Exceptions:
Defined in: lib/rake/win32.rb

Overview

Win 32 interface methods for ::Rake. Windows specific functionality will be placed here to collect that knowledge in one spot.

Class Attribute Summary

Class Method Summary

  • .normalize(path)

    Normalize a win32 path so that the slashes are all forward slashes.

  • .win32_system_dir

    The standard directory containing system wide rake files on Win 32 systems.

Class Attribute Details

.windows?Boolean (readonly)

True if running on a windows system.

[ GitHub ]

  
# File 'lib/rake/win32.rb', line 16

def windows?
  RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
end

Class Method Details

.normalize(path)

Normalize a win32 path so that the slashes are all forward slashes.

[ GitHub ]

  
# File 'lib/rake/win32.rb', line 45

def normalize(path)
  path.gsub(/\\/, "/")
end

.win32_system_dir

The standard directory containing system wide rake files on Win 32 systems. Try the following environment variables (in order):

  • HOME

  • HOMEDRIVE + HOMEPATH

  • APPDATA

  • USERPROFILE

If the above are not defined, the return nil.

Raises:

[ GitHub ]

  
# File 'lib/rake/win32.rb', line 30

def win32_system_dir #:nodoc:
  win32_shared_path = ENV["HOME"]
  if win32_shared_path.nil? && ENV["HOMEDRIVE"] && ENV["HOMEPATH"]
    win32_shared_path = ENV["HOMEDRIVE"] + ENV["HOMEPATH"]
  end

  win32_shared_path ||= ENV["APPDATA"]
  win32_shared_path ||= ENV["USERPROFILE"]
  raise Win32HomeError,
    "Unable to determine home path environment variable." if
      win32_shared_path.nil? or win32_shared_path.empty?
  normalize(File.join(win32_shared_path, "Rake"))
end