module TokenVerification::ClassMethods
Public Instance Methods
verifier_for(purpose)
click to toggle source
# 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) { |record, data| ... }
click to toggle source
# 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