Module: TokenVerification::ClassMethods

Defined in:
lib/generators/templates/models/concerns/token_verification.rb

Instance Method Summary collapse

Instance Method Details

#verifier_for(purpose) ⇒ Object



17
18
19
20
21
22
# File 'lib/generators/templates/models/concerns/token_verification.rb', line 17

def verifier_for(purpose)
  @verifiers ||= {}
  @verifiers.fetch(purpose) do |p|
    @verifiers[p] = Rails.application.message_verifier("#{self.name}-#{p.to_s}")
  end
end

#verify_signature!(purpose, token) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/generators/templates/models/concerns/token_verification.rb', line 24

def verify_signature!(purpose, token)
  data = self.verifier_for(purpose).verify(token)
  record = self.find(data[:id])
  record.tap do
    if block_given?
      yield(record, data[:expires_at])
    end
  end
end