class RandomString
Public Class Methods
new(length = 40)
click to toggle source
Calls superclass method
# File lib/random_string.rb, line 2 def initialize(length = 40) super(new_random_string(length)) end
Private Instance Methods
new_random_string(length = 40)
click to toggle source
# File lib/random_string.rb, line 8 def new_random_string(length = 40) string = "" string += random_string until string.length >= length return string[0, length] end
random_string()
click to toggle source
# File lib/random_string.rb, line 14 def random_string string_pairs = Digest::SHA1.hexdigest( Time.now.to_s.split(//).sort_by {rand}.join ).scan(/.{2}/) random_strings = string_pairs.collect{|s| s[0,1].crypt(s)} random_string = random_strings.join return random_string.gsub(/[^A-Za-z0-9]/, "") end