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.



50
51
52
# File 'lib/rake/win32.rb', line 50

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

.rake_system(*cmd) ⇒ Object

Run a command line on windows.



21
22
23
# File 'lib/rake/win32.rb', line 21

def rake_system(*cmd)
  AltSystem.system(*cmd)
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:



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/rake/win32.rb', line 35

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?
  AltSystem::WINDOWS
end