Module: Rake::Win32

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.

Defined Under Namespace

Classes: Win32HomeError

Class Method Summary collapse

Class Method Details

.normalize(path) ⇒ Object

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



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

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

.win32_system_dirObject

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:



30
31
32
33
34
35
36
37
38
39
40
41
42
# 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

.windows?Boolean

True if running on a windows system.

Returns:

  • (Boolean)


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

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