X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/5a8b533b5abec8dc24674e4ef084b0b9779da8af..9abed97635edbac7fb1a687298fff5c5434cdff4:/lib/uniq_token.rb diff --git a/lib/uniq_token.rb b/lib/uniq_token.rb new file mode 100644 index 0000000..ec93546 --- /dev/null +++ b/lib/uniq_token.rb @@ -0,0 +1,25 @@ +require 'digest/md5' + +class UniqueTokenGenerator + def initialize(length=10) + @length = length + end + + # this should probably be rewritten as a class method + def token + token = "" + while token.length < @length + seed = "" + 16.times do + seed << ( i = Kernel.rand(62) + i += ((i < 10) ? 48 : ((i < 36) ? 55 : 61 )) ).chr + end + token << Digest::MD5.hexdigest( seed ) + end + token.slice( 0..@length ) + end +end + +# debug code +# puts UniqueTokenGenerator.new(300).token +