token_attr
Unique random token generator for ActiveRecord.
Installation
Add token_attr
to your Gemfile:
gem 'token_attr', '~> 0.2.0'
Usage
class User < ActiveRecord::Base
include TokenAttr::Concern
token_attr :token
end
user = User.new
user.valid?
user.token # => "b8bd30ff"
The token is generated in a before_validation
callback only if the it's nil
.
Options
Length
The length of the token to generate.
Default: 8
token_attr :token, length: 40
Alphabet
The alphabet to use to generate the token.
Uses hexadecimal characters by default.
Accepted values:
-
:alphabetic
- any character from a to z (both lower and upper case) -
:numeric
- any number -
:alphanumeric
- any character or number - a string - a string of your choice of the characters you want to use
token_attr :token, alphabet: :numeric # => "82051173"
token_attr :token, alphabet: :alphabetic # => "xqnInSJa"
token_attr :token, alphabet: :alphanumeric # => "61nD0lUo"
token_attr :token, alphabet: "token" # => "ktnekoet"
Contributing
- Fork it ( http://github.com/mbillard/token_attr/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 new Pull Request