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
-
.normalize(path) ⇒ Object
Normalize a win32 path so that the slashes are all forward slashes.
-
.rake_system(*cmd) ⇒ Object
Run a command line on windows.
-
.win32_system_dir ⇒ Object
The standard directory containing system wide rake files on Win 32 systems.
-
.windows? ⇒ Boolean
True if running on a windows system.
Class Method Details
.normalize(path) ⇒ Object
Normalize a win32 path so that the slashes are all forward slashes.
48 49 50 |
# File 'lib/rake/win32.rb', line 48 def normalize(path) path.gsub(/\\/, '/') end |
.rake_system(*cmd) ⇒ Object
Run a command line on windows.
19 20 21 22 23 24 25 |
# File 'lib/rake/win32.rb', line 19 def rake_system(*cmd) if cmd.size == 1 system("call #{cmd}") else system(*cmd) end end |
.win32_system_dir ⇒ Object
The standard directory containing system wide rake files on Win 32 systems. Try the following environment variables (in order):
-
APPDATA
-
HOMEDRIVE + HOMEPATH
-
USERPROFILE
If the above are not defined, the return nil.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rake/win32.rb', line 36 def win32_system_dir #:nodoc: win32_shared_path = ENV['APPDATA'] if win32_shared_path.nil? && ENV['HOMEDRIVE'] && ENV['HOMEPATH'] win32_shared_path = ENV['HOMEDRIVE'] + ENV['HOMEPATH'] end 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.
14 15 16 |
# File 'lib/rake/win32.rb', line 14 def windows? Config::CONFIG['host_os'] =~ /mswin/ end |