class Registrant < ActiveRecord::Base before_validation :verify validates :email, :presence => true, :uniqueness => {:message => "Vous vous êtes déjà inscrit avec cette adresse."}, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i protected def verify(size=16) if !self.token s = "" size.times { s << (i = Kernel.rand(62); i += ((i < 10) ? 48 : ((i < 36) ? 55 : 61 ))).chr } self.token = s end end end