class User < ActiveRecord::Base <% if devise? -%>

devise :database_authenticatable, :registerable, :recoverable,
       :rememberable, :trackable, :validatable, :confirmable
       # :omniauthable, omniauth_providers: [:facebook]
       # :lockable, :timeoutable

<% end -%> <% if user_role_field? -%>

as_enum :role, [:guest, :regular, :trusted, :moderator, :admin],
        source: :role, map: :string, accessor: :whiny

before_create do
  self.role = :regular
end

def self.guest
  User.new
end

def guest?
  new_record?
end

<% end -%>

<% if devise? -%>

def send_devise_notification(notification, *args)
  devise_mailer.send(notification, self, *args).deliver_later
end

<% end -%> end