-# == Schema Information
-#
-# Table name: user_tokens
-#
-# id :bigint(8) not null, primary key
-# user_id :bigint(8) not null
-# token :string not null
-# expiry :datetime not null
-# referer :text
-#
-# Indexes
-#
-# user_tokens_token_idx (token) UNIQUE
-# user_tokens_user_id_idx (user_id)
-#
-# Foreign Keys
-#
-# user_tokens_user_id_fkey (user_id => users.id)
-#
-
-class UserToken < ApplicationRecord
- belongs_to :user
-
- scope :unexpired, -> { where("expiry >= now()") }
-
- after_initialize :set_defaults
-
- def expired?
- expiry < Time.now.utc
- end
-
- private
-
- def set_defaults
- self.token = OSM.make_token if token.blank?
- self.expiry = 1.week.from_now if expiry.blank?
- end
-end