18 lines
		
	
	
		
			508 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			508 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| class UsersArrayValidator < ActiveModel::EachValidator
 | |
| 
 | |
|   def validate_each(record, attribute, valueArray)
 | |
|     unless valueArray.empty?
 | |
|       res = begin
 | |
|         users = Devops::Model::User.find(valueArray)#.projection({'_id' => true})
 | |
|         valueArray - users.map{|u| u.id}
 | |
|       rescue Mongoid::Errors::DocumentNotFound
 | |
|         valueArray
 | |
|       end
 | |
|       unless res.empty?
 | |
|         record.errors.add attribute, (options[:message] || "User(s) '#{res.join("', '")}' not found")
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| 
 | |
| end
 | 
