Class: User

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/users/user.rb

Overview

Schema Information

Table name: users

id                  :integer         not null, primary key
username            :string(32)      default(""), not null
email               :string(64)      default(""), not null
first_name          :string(32)
last_name           :string(32)
title               :string(64)
company             :string(64)
alt_email           :string(64)
phone               :string(32)
mobile              :string(32)
aim                 :string(32)
yahoo               :string(32)
google              :string(32)
skype               :string(32)
password_hash       :string(255)     default(""), not null
password_salt       :string(255)     default(""), not null
persistence_token   :string(255)     default(""), not null
perishable_token    :string(255)     default(""), not null
last_request_at     :datetime
last_login_at       :datetime
current_login_at    :datetime
last_login_ip       :string(255)
current_login_ip    :string(255)
login_count         :integer         default(0), not null
deleted_at          :datetime
created_at          :datetime
updated_at          :datetime
admin               :boolean         default(FALSE), not null
suspended_at        :datetime
single_access_token :string(255)

Instance Method Summary collapse

Instance Method Details

#awaits_approval?Boolean


Returns:

  • (Boolean)


117
118
119
# File 'app/models/users/user.rb', line 117

def awaits_approval?
  self.suspended? && self. == 0 && Setting. == :needs_approval
end

#deliver_password_reset_instructions!Object




128
129
130
131
# File 'app/models/users/user.rb', line 128

def deliver_password_reset_instructions!
  reset_perishable_token!
  Notifier.password_reset_instructions(self).deliver
end

#full_nameObject




107
108
109
# File 'app/models/users/user.rb', line 107

def full_name
  self.first_name.blank? && self.last_name.blank? ? self.email : "#{self.first_name} #{self.last_name}".strip
end

#nameObject




102
103
104
# File 'app/models/users/user.rb', line 102

def name
  self.first_name.blank? ? self.username : self.first_name
end

#preferenceObject Also known as: pref




122
123
124
# File 'app/models/users/user.rb', line 122

def preference
  @preference ||= Preference.new(:user => self)
end

#set_individual_localeObject

Override global I18n.locale if the user has individual local preference.




135
136
137
# File 'app/models/users/user.rb', line 135

def set_individual_locale
  I18n.locale = self.preference[:locale] if self.preference[:locale]
end

#set_single_access_tokenObject

Generate the value of single access token if it hasn’t been set already.




141
142
143
# File 'app/models/users/user.rb', line 141

def set_single_access_token
  self.single_access_token ||= update_attribute(:single_access_token, Authlogic::Random.friendly_token)
end

#suspended?Boolean


Returns:

  • (Boolean)


112
113
114
# File 'app/models/users/user.rb', line 112

def suspended?
  self.suspended_at != nil
end