class Moonshot::SSHForkExecutor

Run an SSH command via fork/exec.

Constants

Result

Public Instance Methods

run(cmd) click to toggle source
# File lib/moonshot/ssh_fork_executor.rb, line 8
def run(cmd)
  output = StringIO.new

  exit_status = nil
  Open3.popen3(cmd) do |_, stdout, _, wt|
    output << stdout.read until stdout.eof?
    exit_status = wt.value.exitstatus
  end

  Result.new(output.string.chomp, exit_status)
end