def random_password(length=10) @words ||= File.readlines("/usr/share/dict/words").reject { |w| w.strip.length != length }.map { |w| w.strip.downcase } w1 = @words[rand(@words.length)][0,3] w2 = @words[rand(@words.length)][3,3] w3 = @words[rand(@words.length)][6,4] return "%s%s%s%03d" % [w1, w2, w3, rand(1000)] end