Module: TokenGenerator
- Extended by:
- TokenGenerator
- Included in:
- TokenGenerator
- Defined in:
- lib/token_generator.rb,
lib/token_generator/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Attribute Summary collapse
Instance Method Summary collapse
- #hyphenize(input, group_size = self.group_size) ⇒ Object
- #random_char ⇒ Object
- #token(length = self.length, group_size = self.group_size) ⇒ Object
Instance Attribute Details
#charset ⇒ Object
23 24 25 |
# 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 ⇒ Object
27 28 29 |
# File 'lib/token_generator.rb', line 27 def group_size @group_size ||= 5 end |
#length ⇒ Object
31 32 33 |
# File 'lib/token_generator.rb', line 31 def length @length ||= 20 end |
Instance Method Details
#hyphenize(input, group_size = self.group_size) ⇒ Object
12 13 14 15 |
# 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 |
#random_char ⇒ Object
17 18 19 |
# 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) ⇒ Object
7 8 9 10 |
# 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 |