1
0
Fork 0
This repository has been archived on 2023-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
lpr-partynest/app/models/user.rb

61 lines
1.2 KiB
Ruby
Raw Normal View History

2018-11-29 15:57:57 -05:00
# frozen_string_literal: true
class User < ApplicationRecord
devise(
2018-12-03 12:58:39 -05:00
:confirmable,
2018-11-29 15:57:57 -05:00
:database_authenticatable,
2018-12-03 15:19:41 -05:00
:lockable,
:omniauthable,
2018-12-03 15:03:01 -05:00
:recoverable,
2018-11-29 15:57:57 -05:00
:registerable,
:rememberable,
2018-12-03 21:12:07 -05:00
:timeoutable,
2018-11-29 15:57:57 -05:00
:trackable,
:validatable,
omniauth_providers: %i[github],
2018-11-29 15:57:57 -05:00
)
2018-12-01 21:50:10 -05:00
2019-03-25 20:56:31 -04:00
################
# Associations #
################
2018-12-01 21:50:10 -05:00
belongs_to :account
has_many :user_omniauths
2018-12-03 22:08:33 -05:00
2019-03-25 20:56:31 -04:00
###############
# Validations #
###############
2019-03-23 21:42:27 -04:00
validates :account, uniqueness: true
2018-12-01 21:50:10 -05:00
2019-09-04 17:38:59 -04:00
###########
# Methods #
###########
def active_for_authentication?
super && (
!Rails.env.production? ||
Rails.application.restricted? ||
!account.restricted?
)
end
2019-09-04 17:38:59 -04:00
def remember_exists_and_not_expired?
return false unless respond_to? :remember_created_at
return false unless respond_to? :remember_expired?
remember_created_at && !remember_expired?
end
def remember_expired?
remember_created_at.nil? || (remember_expires_at <= Time.now.utc)
end
def timedout?(last_access)
return false if remember_exists_and_not_expired?
!timeout_in.nil? && last_access && last_access <= timeout_in.ago
end
2018-11-29 15:57:57 -05:00
end