Sha256: 6ceb159eb352d0b34819cbc66a88020afa84482668a2f8f043e8c22f635e548b

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

# -*- coding: utf-8 -*-
# == Schema Information
# Schema version: 20090529051529
#
# Table name: users
#
#  id         :integer       not null, primary key
#  created_at :datetime      not null
#  updated_at :datetime      not null
#  user_token :string(40)    not null, index_users_on_user_token(unique)
#  nickname   :string(40)
#

# ユーザ
class User < ActiveRecord::Base
  NicknameMaximumLength = 40
  TokenLength  = 20
  TokenPattern = TokenUtil.create_token_regexp(TokenLength)

  has_many :open_id_credentials
  has_many :email_credentials

  validates_presence_of :user_token
  validates_length_of :nickname, :maximum => NicknameMaximumLength, :allow_nil => true
  validates_format_of :user_token, :with => TokenPattern, :allow_nil => true
  validates_uniqueness_of :user_token

  before_validation_on_create { |record|
    if record.user_token.blank?
      record.user_token = record.class.create_unique_user_token
    end
  }

  def self.create_unique_user_token
    return TokenUtil.create_unique_token(self, :user_token, TokenLength)
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
multi_auth-0.0.1 app/models/user.rb
okkez-multi_auth-0.0.1 app/models/user.rb