Sha256: 40d85d67303cd5979376ec7e1f3292ec6c62d0224e68bf7869c6adb32fce66be

Contents?: true

Size: 765 Bytes

Versions: 4

Compression:

Stored size: 765 Bytes

Contents

module Sorcery
  module Model
    # This module encapsulates the logic for temporary token.
    # A temporary token is created to identify a user in scenarios 
    # such as reseting password and activating the user by email.
    module TemporaryToken
      def self.included(base)
        base.extend(ClassMethods)
      end
      
      module ClassMethods
        def load_from_token(token, token_attr_name, token_expiration_date_attr)
          return nil if token.blank?
          user = find_by_sorcery_token(token_attr_name,token)
          if !user.blank? && !user.send(token_expiration_date_attr).nil?
            return Time.now.utc < user.send(token_expiration_date_attr) ? user : nil
          end
          user
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sorcery-0.6.1 lib/sorcery/model/temporary_token.rb
sorcery-0.6.0 lib/sorcery/model/temporary_token.rb
sorcery-0.5.30 lib/sorcery/model/temporary_token.rb
sorcery-0.5.3 lib/sorcery/model/temporary_token.rb