class Thoom::Strandom
Provides several convenience methods to generating random strings
Attributes
lower_range[R]
num_range[R]
upper_range[R]
Public Class Methods
alphabetic(len = 0)
click to toggle source
# File lib/strandom.rb, line 13 def alphabetic(len = 0) randomize(len, upper_range + lower_range) end
alphanumeric(len = 0)
click to toggle source
# File lib/strandom.rb, line 17 def alphanumeric(len = 0) randomize(len, num_range + upper_range + lower_range) end
custom(len: 0, values: [])
click to toggle source
# File lib/strandom.rb, line 21 def custom(len: 0, values: []) ([nil] * len).map { values.sample }.join end
hex(len = 2)
click to toggle source
# File lib/strandom.rb, line 25 def hex(len = 2) SecureRandom.hex(len / 2) end
lower_alphabetic(len = 0)
click to toggle source
# File lib/strandom.rb, line 33 def lower_alphabetic(len = 0) randomize(len, lower_range) end
lower_alphanumeric(len = 0)
click to toggle source
# File lib/strandom.rb, line 37 def lower_alphanumeric(len = 0) randomize(len, num_range + lower_range) end
numeric(len = 0)
click to toggle source
# File lib/strandom.rb, line 29 def numeric(len = 0) randomize(len, num_range) end
upper_alphabetic(len = 0)
click to toggle source
# File lib/strandom.rb, line 41 def upper_alphabetic(len = 0) randomize(len, upper_range) end
upper_alphanumeric(len = 0)
click to toggle source
# File lib/strandom.rb, line 45 def upper_alphanumeric(len = 0) randomize(len, num_range + upper_range) end
uuid()
click to toggle source
# File lib/strandom.rb, line 49 def uuid SecureRandom.uuid end
Private Class Methods
randomize(len, range)
click to toggle source
# File lib/strandom.rb, line 55 def randomize(len, range) # pulled from http://codereview.stackexchange.com/questions/15958 ([nil] * len).map { range.sample.chr }.join end