¿Cómo obtener el estado de salida con la biblioteca Ruby's Net :: SSH?

Tengo un fragmento de código, simplemente tratando de ejecutar un script en un servidor remoto, en caso de que falle, me gustaría hacer una llamada de seguimiento, imagine esto:

require 'rubygems'
require 'net/ssh'
require 'etc'

server = 'localhost'

Net::SSH.start(server, Etc.getlogin) do |ssh|
  puts (ssh.exec("true")  ? 'Exit Success' : "Exit Failure")
  puts (ssh.exec("false") ? 'Exit Success' : "Exit Failure")  
end

Esperaría (ignorando que stdout y stderr se imprimen en mi ejemplo artificial), pero la primera línea debería salir con0 que esperaría que Ruby interpelara comofalse y muestra "Exit Failure" (claro, por lo que la lógica es incorrecta, el ternario debe invertirse), pero la segunda línea debe salir con el estado opuesto, y no lo hace.

¡Ni siquiera puedo encontrar nada en la documentación sobre cómo hacer esto, y estoy un poco preocupado de que pueda estar haciéndolo mal!

Respuestas a la pregunta(2)

Su respuesta a la pregunta