# module Random::StringExtensions::Self

Class-level methods.

### Public Instance Methods

random(max_length = 8, char_re = /[\w\d]/) click to toggle source

Returns a randomly generated string. One possible use is password initialization. Takes a max legnth of characters (default 8) and an optional valid char Regexp (default /wd/).

    String.random    #~> 'dd4qed4r'

CREDIT George Moschovitis

    # File lib/facets/random.rb, line 353
    def random(max_length = 8, char_re = /[\w\d]/)
      raise ArgumentError.new('char_re must be a regular expression!') unless char_re.is_a?(Regexp)
      string = ""
      while string.length < max_length
          ch = Random.number(255).chr
          string << ch if ch =~ char_re
      end
      return string
    end