A token generator for Rails 3 and Active Record (also works with Rails 4).
Put the following gem requirement in your
Make sure your model has a field called
token (type string).
class Entry < ActiveRecord::Base # Use default options (size 10, chars a-z + A-Z + 0-9) has_token # Use custom token size # has_token size: 25 # Use custom set of characters # has_token chars: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" end
The token is set in a
before_create callback. There is a possible race condition when checking if a newly generated token already exists – make sure to add an unique index to the
token column in the database.
NoMoreTokens error is raised if a new unique token can not be generated within
There are similar plugins providing more features configuration options, e.g. https://github.com/mindbox/has_token.
This project is released under the MIT license.