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