class Soaring::Executor

Public Class Methods

execute(command) click to toggle source
# File lib/soaring/tools.rb, line 5
def self.execute(command)
  captured_stdout = ''
  captured_stderr = ''
  exit_status = Open3.popen3(ENV, command) {|stdin, stdout, stderr, wait_thr|
    pid = wait_thr.pid # pid of the started process.
    stdin.close
    captured_stdout = stdout.read
    captured_stderr = stderr.read
    wait_thr.value # Process::Status object returned.
  }
  ["#{captured_stdout}#{captured_stderr}", exit_status]
end