2020-03-21 11:53:34 -06:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class User < ApplicationRecord
|
|
|
|
acts_as_paranoid
|
|
|
|
|
|
|
|
# Include default devise modules. Others available are:
|
|
|
|
# :omniauthable
|
|
|
|
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable,
|
|
|
|
:confirmable, :lockable, :timeoutable, :trackable
|
|
|
|
|
2020-04-25 19:41:40 -06:00
|
|
|
validates :username, uniqueness: true
|
2020-03-21 11:53:34 -06:00
|
|
|
validates :email, presence: true, email_format: { message: 'format is not valid' }
|
2020-04-25 19:41:40 -06:00
|
|
|
|
|
|
|
before_validation :set_username, on: :create
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def set_username
|
|
|
|
return if username.present?
|
|
|
|
|
|
|
|
self.username = Digest::MD5.hexdigest(Time.now.to_f.to_s + email)
|
|
|
|
end
|
2020-03-21 11:53:34 -06:00
|
|
|
end
|