Module: Authlogic::ActsAsAuthentic::PerishableToken::Methods::ClassMethods
- Defined in:
- lib/authlogic/acts_as_authentic/perishable_token.rb
Overview
Class level methods for the perishable token
Instance Method Summary collapse
-
#find_using_perishable_token(token, age = self.perishable_token_valid_for) ⇒ Object
Use this methdo to find a record with a perishable token.
-
#find_using_perishable_token!(token, age = perishable_token_valid_for) ⇒ Object
This method will raise ActiveRecord::NotFound if no record is found.
Instance Method Details
#find_using_perishable_token(token, age = self.perishable_token_valid_for) ⇒ Object
Use this methdo to find a record with a perishable token. This method does 2 things for you:
-
It ignores blank tokens
-
It enforces the perishable_token_valid_for configuration option.
If you want to use a different timeout value, just pass it as the second parameter:
User.find_using_perishable_token(token, 1.hour)
63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/authlogic/acts_as_authentic/perishable_token.rb', line 63 def find_using_perishable_token(token, age = self.perishable_token_valid_for) return if token.blank? age = age.to_i conditions_sql = "perishable_token = ?" conditions_subs = [token] if column_names.include?("updated_at") && age > 0 conditions_sql += " and updated_at > ?" conditions_subs << age.seconds.ago end find(:first, :conditions => [conditions_sql, *conditions_subs]) end |
#find_using_perishable_token!(token, age = perishable_token_valid_for) ⇒ Object
This method will raise ActiveRecord::NotFound if no record is found.
79 80 81 |
# File 'lib/authlogic/acts_as_authentic/perishable_token.rb', line 79 def find_using_perishable_token!(token, age = perishable_token_valid_for) find_using_perishable_token(token, age) || raise(ActiveRecord::RecordNotFound) end |