2019-08-18 18:51:25 +02:00
|
|
|
class User < ApplicationRecord
|
2019-08-21 16:13:39 +02:00
|
|
|
devise :database_authenticatable, :registerable,
|
|
|
|
|
:recoverable, :rememberable, :validatable,
|
|
|
|
|
:confirmable
|
|
|
|
|
|
2019-08-19 10:37:45 +02:00
|
|
|
enum role: [:user, :moderator, :admin]
|
|
|
|
|
after_initialize :set_default_role, if: :new_record?
|
|
|
|
|
|
2019-08-23 15:58:43 +02:00
|
|
|
validates :full_name, presence: true, length: { in: 2..32 }
|
2019-08-19 15:45:44 +02:00
|
|
|
|
2019-08-19 10:37:45 +02:00
|
|
|
def set_default_role
|
|
|
|
|
self.role ||= :user
|
|
|
|
|
end
|
|
|
|
|
|
2019-08-19 17:42:13 +02:00
|
|
|
def gravatar_url
|
|
|
|
|
gravatar_id = Digest::MD5::hexdigest(email.downcase)
|
|
|
|
|
"https://secure.gravatar.com/avatar/#{gravatar_id}"
|
|
|
|
|
end
|
2019-08-18 18:51:25 +02:00
|
|
|
end
|