20 lines
		
	
	
		
			467 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			467 B
		
	
	
	
		
			Ruby
		
	
	
	
class CoAuthor
 | 
						|
  include Mongoid::Document
 | 
						|
 | 
						|
  LANGUAGE_TYPES = [ "English", "Chinese" ]
 | 
						|
 | 
						|
  field :name_id, type: BSON::ObjectId
 | 
						|
  field :co_author, localize: true
 | 
						|
  field :email
 | 
						|
  field :type
 | 
						|
 | 
						|
 | 
						|
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
 | 
						|
  validates :email, format: { with: VALID_EMAIL_REGEX },
 | 
						|
             uniqueness: { case_sensitive: false }
 | 
						|
 | 
						|
  validates :co_author, presence: true
 | 
						|
  before_save { |coauthor| coauthor.email = email.downcase }
 | 
						|
end
 | 
						|
 |