Je génère actuellement une chaîne majuscule pseudo-aléatoire à 8 caractères pour "A" .. "Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
mais il n'a pas l'air propre, et il ne peut pas être passé en argument car il ne s'agit pas d'une seule instruction. Pour obtenir une chaîne à casse mixte "a" .. "z" plus "A" .. "Z", je l'ai modifiée en:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
mais ça ressemble à une poubelle.
Quelqu'un at-il une meilleure méthode?
reset_user_password!(random_string)
oùdef random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64