Sha256: 4040cedc66b6377a3c1b426d2fa820c8d20328256b17cdb1fd56a821085a310b
Contents?: true
Size: 994 Bytes
Versions: 1
Compression:
Stored size: 994 Bytes
Contents
class UserRequestEmailConfirmationForm include Model::NonPersistent field :email, type: String validates_presence_of :email validates_format_of :email, with: /@/, message: :invalid_format # validates uniqueness of provider & uid (email) among all users validate do |record| user = User.where( 'emails.email' => record.email ).first unless user record.errors.add :email, :not_registered return end user_email = user.emails.where( email: record.email ).first unless user_email record.errors.add :email, :invalid return end if user_email.confirmed record.errors.add :email, :already_confirmed end end # Returns User object, corresponding to this email address # def user User.where( 'emails.email' => email ).first end # Returns UserEmail object, corresponding to this email address # def user_email user.emails.where( email: email ).first end end # class UserRequestEmailConfirmationForm
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aerogel-users-1.4.3 | db/model/user_request_email_confirmation_form.rb |