Actualmente estoy generando una cadena mayúscula pseudoaleatoria de 8 caracteres para "A" .. "Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
pero no se ve limpio, y no se puede pasar como argumento ya que no es una sola declaración. Para obtener una cadena de mayúsculas y minúsculas "a" .. "z" más "A" .. "Z", la cambié a:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
Pero parece basura.
¿Alguien tiene un mejor método?
reset_user_password!(random_string)
dondedef random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64