class Authentication < ApplicationRecord belongs_to :user encrypts :access_token encrypts :refresh_token def expired? expires_at <= Time.current end def google_authorization @google_authorization ||= CLIENT_SECRETS.to_authorization.tap do |c| c.access_token = self.access_token c.refresh_token = self.refresh_token c.expires_at = self.expires_at if expires_at < 1.minute.from_now c.refresh! self.access_token = c.access_token if c.access_token.present? self.refresh_token = c.refresh_token if c.refresh_token.present? self.expires_at = Time.at(c.expires_at) if c.expires_at.present? end end end end