Alternate implementations of system() and backticks “ on Windows for ruby-1.8 and earlier.
Methods
Constants
WINDOWS | = | RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)! |
RUNNABLE_EXTS | = | %w[com exe bat cmd] |
RUNNABLE_PATTERN | = | %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i |
Instance Public methods
backticks(cmd)
Link
define_module_function(name, &block)
Link
find_runnable(file)
Link
repair_command(cmd)
Link
# File lib/rake/alt_system.rb, line 51 def repair_command(cmd) "call " + ( if cmd =~ %r\A\s*\".*?\"! # already quoted cmd elsif match = cmd.match(%r\A\s*(\S+)!) if match[1] =~ %r/! # avoid x/y.bat interpretation as x with option /y %Q"#{match[1]}"! + match.post_match else # a shell command will fail if quoted cmd end else # empty or whitespace cmd end ) end
system(cmd, *args)
Link