module Random::StringExtensions::Self
Class-level methods.
Public Instance Methods
ran(len = 32, character_set = ["A".."Z", "a".."z", "0".."9"])
click to toggle source
Create a random String
of given length, using given character set
Examples
String.random => "D9DxFIaqR3dr8Ct1AfmFxHxqGsmA4Oz3" String.ran(10) => "t8BIna341S" String.ran(10, ['a'..'z']) => "nstpvixfri" String.ran(10, ['0'..'9'] ) => "0982541042" String.ran(10, ['0'..'9','A'..'F'] ) => "3EBF48AD3D"
# File lib/garcon/core_ext/random.rb, line 409 def ran(len = 32, character_set = ["A".."Z", "a".."z", "0".."9"]) chars = character_set.map(&:to_a).flatten Array.new(len){ chars.sample }.join end
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/).
@example
String.random # => 'dd4qed4r'
# File lib/garcon/core_ext/random.rb, line 371 def random(max_length = 8, char_re = /[\w\d]/) unless char_re.is_a?(Regexp) raise ArgumentError, 'second argument must be a regular expression' end string = '' while string.length < max_length ch = SecureRandom.random_number(255).chr string << ch if ch =~ char_re end return string end
random_binary(n_bytes)
click to toggle source
Generate a random binary string of n_bytes
size.
# File lib/garcon/core_ext/random.rb, line 385 def random_binary(n_bytes) #(Array.new(n_bytes) { rand(0x100) }).pack('c*') SecureRandom.random_bytes(64) end