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
-
.windows? ⇒ Boolean
readonly
True if running on a windows system.
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.
# 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.
# 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.
# 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