Sha256: 8d83ca6b66e27917c904fa131325b32a4afc866959d6e7be836a27b9a30de10d
Contents?: true
Size: 713 Bytes
Versions: 2
Compression:
Stored size: 713 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) } scope :expired, -> { where("expires_at < ?", Time.now) } class << self def default_expiration 24.hours end def expire! expired.delete_all end def find_by_token(token) active.where(token: token).first end end def expired? expires_at < Time.now end private def ensure_expiration self.expires_at ||= Time.now + self.class.default_expiration end def ensure_token self.token ||= SecureRandom.hex(32) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.4.3 | app/models/password_reset_token.rb |
pages_core-3.4.2 | app/models/password_reset_token.rb |