2009-09-18 09:01:29 -03:00
|
|
|
module Devise
|
|
|
|
module PerishableToken
|
|
|
|
|
|
|
|
def self.included(base)
|
|
|
|
base.class_eval do
|
|
|
|
# extend ClassMethods
|
|
|
|
|
2009-09-18 10:20:45 -03:00
|
|
|
before_create :reset_perishable_token
|
2009-09-18 09:01:29 -03:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2009-09-18 10:20:45 -03:00
|
|
|
# Generates a new random token for confirmation, based on actual Time and salt
|
|
|
|
#
|
|
|
|
def reset_perishable_token
|
|
|
|
self.perishable_token = secure_digest(Time.now.utc, random_string, password)
|
|
|
|
end
|
2009-09-18 09:01:29 -03:00
|
|
|
|
2009-09-18 10:20:45 -03:00
|
|
|
# Resets the perishable token with and save the record without validating
|
|
|
|
#
|
|
|
|
def reset_perishable_token!
|
|
|
|
reset_perishable_token and save(false)
|
|
|
|
end
|
2009-09-18 09:01:29 -03:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|