rails_template/app/models/user.rb

26 lines
640 B
Ruby

# frozen_string_literal: true
class User < ApplicationRecord
acts_as_paranoid
before
# Include default devise modules. Others available are:
# :omniauthable
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable,
:confirmable, :lockable, :timeoutable, :trackable
validates :username, uniqueness: true
validates :email, presence: true, email_format: { message: 'format is not valid' }
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
end