Ejecutar el comando del sistema en ruby e interactuar con él
Necesito ejecutar un comando en la línea de comandos que solicite una respuesta del usuario. En caso de que ayude el comando es:
gpg --recipient "Some Name" --encrypt ~/some_file.txt
cuando ejecutas esto, advierte sobre algo y luego pregunta:
Utilice esta clave de todos modos? (s / N)
Respondiendo 'y' vamos a terminar correctamente. He estado tratando de usar eljoya open4 pero no he podido hacerlo para especificar la 'y' correctamente. Esto es lo que intenté:
Open4::popen4(cmd) do |pid, stdin, stdout, stderr|
stdin.puts "y"
stdin.close
puts "pid : #{ pid }"
puts "stdout : #{ stdout.read.strip }"
puts "stderr : #{ stderr.read.strip }"
end
¿Qué estoy haciendo mal? ¿Es lo que estoy haciendo incluso posible?