Module: ActiveRecord::TokenFor::RelationMethods

Included in:
Relation
Defined in:
lib/active_record/token_for.rb

Instance Method Summary collapse

Instance Method Details

#find_by_token_for(purpose, token) ⇒ Object

Finds a record using a given token for a predefined purpose. Returns nil if the token is invalid or the record was not found.

Raises:



41
42
43
44
# File 'lib/active_record/token_for.rb', line 41

def find_by_token_for(purpose, token)
  raise UnknownPrimaryKey.new(self) unless model.primary_key
  model.token_definitions.fetch(purpose).resolve_token(token) { |id| find_by(model.primary_key => [id]) }
end

#find_by_token_for!(purpose, token) ⇒ Object

Finds a record using a given token for a predefined purpose. Raises ActiveSupport::MessageVerifier::InvalidSignature if the token is invalid (e.g. expired, bad format, etc). Raises ActiveRecord::RecordNotFound if the token is valid but the record was not found.



50
51
52
53
# File 'lib/active_record/token_for.rb', line 50

def find_by_token_for!(purpose, token)
  model.token_definitions.fetch(purpose).resolve_token(token) { |id| find(id) } ||
    (raise ActiveSupport::MessageVerifier::InvalidSignature)
end