module TokenGenerator

Constants

VERSION

Attributes

charset[W]
group_size[W]
length[W]

Public Instance Methods

charset() click to toggle source
# File lib/token_generator.rb, line 23
def charset
  @charset ||= %w{2 3 4 6 7 9 A C D E F G H J K M N P Q R T V W X Y Z}
end
group_size() click to toggle source
# File lib/token_generator.rb, line 27
def group_size
  @group_size ||= 5
end
hyphenize(input, group_size = self.group_size) click to toggle source
# File lib/token_generator.rb, line 12
def hyphenize(input, group_size = self.group_size)
  return input if group_size < 1
  input.split('').each_slice(group_size).map(&:join).join('-')
end
length() click to toggle source
# File lib/token_generator.rb, line 31
def length
  @length ||= 20
end
random_char() click to toggle source
# File lib/token_generator.rb, line 17
def random_char
  charset[SecureRandom.random_number(charset.size)]
end
token(length = self.length, group_size = self.group_size) click to toggle source
# File lib/token_generator.rb, line 7
def token(length = self.length, group_size = self.group_size)
  token = (1..length).map{ random_char }.join
  hyphenize(token, group_size)
end