Sha256: 87f39056c9ca87ad1fd4a27f5932b69fb02fd6f0fec9023dd56ce0d10a794031
Contents?: true
Size: 725 Bytes
Versions: 1
Compression:
Stored size: 725 Bytes
Contents
class PasswordResetToken < ActiveRecord::Base belongs_to :user before_create :ensure_token before_create :ensure_expiration validates :user_id, presence: true scope :active, -> { where("expires_at >= ?", Time.now.utc) } scope :expired, -> { where("expires_at < ?", Time.now.utc) } class << self def default_expiration 24.hours end def expire! expired.delete_all end def find_by_token(token) active.find_by(token: token) end end def expired? expires_at < Time.now.utc end private def ensure_expiration self.expires_at ||= Time.now.utc + self.class.default_expiration end def ensure_token self.token ||= SecureRandom.hex(32) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.5.1 | app/models/password_reset_token.rb |