:normalized_uniqueness => { :case_sensitive => false }
validates :display_name, :if => proc { |u| u.display_name_changed? },
:characters => { :url_safe => true },
- :whitespace => { :leading => false, :trailing => false }
+ :whitespace => { :leading => false, :trailing => false },
+ :width => { :minimum => 3 }
validate :display_name_cannot_be_user_id_with_other_id, :if => proc { |u| u.display_name_changed? }
validates :email, :presence => true, :confirmation => true, :characters => true
validates :email, :if => proc { |u| u.email_changed? },
before_save :update_tile
after_save :spam_check
+ generates_token_for :new_user, :expires_in => 1.week do
+ fingerprint
+ end
+
+ generates_token_for :new_email, :expires_in => 1.week do
+ fingerprint
+ end
+
+ generates_token_for :password_reset, :expires_in => 1.week do
+ fingerprint
+ end
+
def display_name_cannot_be_user_id_with_other_id
display_name&.match(/^user_(\d+)$/i) do |m|
errors.add :display_name, I18n.t("activerecord.errors.messages.display_name_is_user_n") unless m[1].to_i == id