Tiny class that generates friendly tokens using SecureRandom.
Add this line to your application's Gemfile:
gem 'token_generator'
And then execute:
$ bundle
Or install it yourself as:
$ gem install token_generator
TokenGenerator acts as a namespace for the token method (see below about customising the generator).
The token method takes an integer (default 20) which is the number of characters.
Its second argument is the group size (default 5). If you don't want groups, pass 0.
require 'token_generator'
TokenGenerator.token
# => "PXQE2-ZQWTN-PVFQ9-KYWNC"
TokenGenerator.token(12)
# => "KFAE2-YWJQC-PX"
TokenGenerator.token(12,3)
# => "EYV-XAZ-VFF-47N"
TokenGenerator.token(50,0)
# => "XN76KFH9AC2AA66AXJAPT6RNMVCYJ22E4AD4ZK7E9PNFH6XDGC"
include TokenGenerator in your own class, and override charset, length, group_size
Or, to customise the global TokenGenerator by setting accessors.
class DNAGen
include TokenGenerator
def charset
['C', 'G', 'T', 'A']
end
def group_size
3
end
def length
21
end
end
gen = DNAGen.new
gen.token
# => "TTT-CGT-TTT-AAA-GTG-AGA-TCC"
gen.token(120)
# => "CTC-ACT-TGC-GTG-ATG-AGA-AAA-GCT-AGG-GAC-AAT-CCC-AAC-GTT-AGA-TAA-TCA-TCG-CCT-TCT-ACG-CAT-ATG-AAG-ACA-TGA-CCT-TGC-AAT-TCA-CCA-GGT-CTC-CAG-TAC-GAT-AGT-ATC-TCC-TCC"
- Fork it ( https://github.com/i2w/token_generator/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request