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