Skip to content

rails/token_generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

TokenGenerator
==============

Mix-in for classes that needs to have a token generated using MD5. You can set the length of the token 
and provide it with an optional block that'll check the validity of the generated token (usually whether it's
already taken or not).

The two methods are generate_token, which will just return a new token, and set_token, which will assume
that there's a writer for the instance variable "token" and that the class has a "find_by_token" method to check
validity (if a duplicate exists, generate another token).

Examples:

  class Invitation < ActiveRecord::Base
    include TokenGenerator
    before_create :set_token
  end

  class ImperialInvitation < ActiveRecord::Base
    include TokenGenerator
    before_create :set_token
    
    private
      def set_token
        self.token = generate_token { |token| complies_to_imperial_standards?(token) }
      end
  end

Copyright (c) 2005 David Heinemeier Hansson, Marcel Molina Jr. released under the MIT license