Truncar numeros en Ruby

Hola a todos.

Tengo el siguiente código de ejemplo que pide 2 números enteros mayores
de 30 y devuelve cual es el mayor:

begin
a=gets.to_i
b=gets.to_i
end while (a<30) && (b<30)

if a>b then
puts "El mayor es " +a.to_s
else
puts "El mayor es " +b.to_s
end

Mi duda es la siguiente: ya se que en este caso estoy convirtiendo los
numeros a entero, pero lo que yo quiero es que en el condicional, si el
numero no es entero no me lo acepte y pida otro. Como lo podria
implementar.

Gracias.

Pues a ver si te sirve esto:

if ((a.kind_of? Integer) && (b.kind_of? Integer))
if a>b then
puts "El mayor es " +a.to_s
else
puts "El mayor es " +b.to_s
end
else…(pedir otro numero)

No te puedo escribir todo el código porque no me da tiempo, lo siento,
pero vamos lo importante es que utilices el kind_of?

Suerte