Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
Alternate implementations of system() and backticks “ on Windows for ruby-1.8 and earlier.
# File rake/alt_system.rb, line 98
def backticks(cmd)
kernel_backticks(repair_command(cmd))
end
# File rake/alt_system.rb, line 71
def find_runnable(file)
if file =~ RUNNABLE_PATTERN
file
else
RUNNABLE_EXTS.each { |ext|
if File.exist?(test = "#{file}.#{ext}")
return test
end
}
nil
end
end
# File 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