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