Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 README
README
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
Something went wrong with that request. Please try again.