No momento, estou gerando uma sequência maiúscula pseudo-aleatória de 8 caracteres para "A" .. "Z":
value = ""; 8.times{value << (65 + rand(25)).chr}
mas não parece limpo e não pode ser passado como argumento, pois não é uma declaração única. Para obter uma sequência de maiúsculas e minúsculas "a" .. "z" mais "A" .. "Z", mudei para:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
mas parece lixo.
Alguém tem um método melhor?
reset_user_password!(random_string)
wheredef random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64