module PerfectWorld::Random

Random string generator.

Public Class Methods

string(len = 64) click to toggle source

Generates a random string with of a specified length (64 by default).

PerfectWorld::Random.string(32)
#=> "XzKk#~c\"Q(e2~8Bb#HO;v$}Jdid16-gO"

Returns a string.

# File lib/perfect_world/random.rb, line 15
def self.string(len = 64)
  s = String.new

  while s.length < len
    s << SecureRandom.random_bytes(len * 3.3).gsub(/[^[:graph:]]/, '')
  end

  s[0..(len - 1)].encode('utf-8')
rescue SystemCallError, NotImplementedError => e
  raise Error, e.message
end