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
 | |
| 
 |