module Sorcery::Model::TemporaryToken::ClassMethods
Public Instance Methods
load_from_token(token, token_attr_name, token_expiration_date_attr = nil, &block)
click to toggle source
# File lib/sorcery/model/temporary_token.rb, line 21 def load_from_token(token, token_attr_name, token_expiration_date_attr = nil, &block) return token_response(failure: :invalid_token, &block) if token.blank? user = sorcery_adapter.find_by_token(token_attr_name, token) return token_response(failure: :user_not_found, &block) unless user unless check_expiration_date(user, token_expiration_date_attr) return token_response(user: user, failure: :token_expired, &block) end token_response(user: user, return_value: user, &block) end
Protected Instance Methods
check_expiration_date(user, token_expiration_date_attr)
click to toggle source
# File lib/sorcery/model/temporary_token.rb, line 37 def check_expiration_date(user, token_expiration_date_attr) return true unless token_expiration_date_attr expires_at = user.send(token_expiration_date_attr) !expires_at || (Time.now.in_time_zone < expires_at) end
token_response(options = {}) { |options, options| ... }
click to toggle source
# File lib/sorcery/model/temporary_token.rb, line 45 def token_response(options = {}) yield(options[:user], options[:failure]) if block_given? options[:return_value] end