В настоящее время я генерирую 8-символьную псевдослучайную строку в верхнем регистре для "A" .. "Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
но он не выглядит чистым и не может быть передан в качестве аргумента, поскольку это не одно утверждение. Чтобы получить строку со смешанным регистром "a" .. "z" плюс "A" .. "Z", я изменил ее на:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
но это похоже на мусор.
У кого-нибудь есть лучший метод?
reset_user_password!(random_string)
гдеdef random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64