class R10K::Util::Subprocess::Runner::Windows
Run processes on Windows.
This implementation relies on Open3.capture3 to run commands and capture results. In contrast to the POSIX runner this cannot be used in an asynchronous manner as-is; implementing that will probably mean launching a thread and invoking capture3 in that thread.
Public Class Methods
new(argv)
click to toggle source
# File lib/r10k/util/subprocess/runner/windows.rb, line 12 def initialize(argv) @argv = argv end
Public Instance Methods
run()
click to toggle source
# File lib/r10k/util/subprocess/runner/windows.rb, line 16 def run spawn_opts = @cwd ? {:chdir => @cwd} : {} stdout, stderr, status = Open3.capture3(*@argv, spawn_opts) @result = R10K::Util::Subprocess::Result.new(@argv, stdout, stderr, status.exitstatus) rescue Errno::ENOENT, Errno::EACCES => e @result = R10K::Util::Subprocess::Result.new(@argv, '', e.message, 255) end