Class: User::Identities::EmailVerification
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- User::Identities::EmailVerification
- Includes:
- TokenSegment
- Defined in:
- app/models/user/identities/email_verification.rb
Overview
An EmailVerification is a token that is sent to a specific recipient and it is used to perform a task while confirming email validation.
Once used the token should be marked as spent, that will ensure that the token is fresh and hasn’t been used before via validation.
It is used by Identities::Email to verify an email address at signup, validate email address changes and reset the password.
Class Method Summary collapse
- .address_change_verification ⇒ Object
- .address_signup_verification ⇒ Object
- .address_verification ⇒ Object
- .password_reset ⇒ Object
- .spent ⇒ Object
- .unspent ⇒ Object
Instance Method Summary collapse
Class Method Details
.address_change_verification ⇒ Object
44 45 46 |
# File 'app/models/user/identities/email_verification.rb', line 44 def self.address_change_verification where(type: 'AddressChangeVerification') end |
.address_signup_verification ⇒ Object
41 42 43 |
# File 'app/models/user/identities/email_verification.rb', line 41 def self.address_signup_verification where(type: 'SignUpAddressVerification') end |
.address_verification ⇒ Object
37 38 39 |
# File 'app/models/user/identities/email_verification.rb', line 37 def self.address_verification where(type: ['SignUpAddressVerification', 'AddressChangeVerification']) end |
.password_reset ⇒ Object
48 49 50 |
# File 'app/models/user/identities/email_verification.rb', line 48 def self.password_reset where(type: 'PasswordReset') end |
.spent ⇒ Object
33 34 35 |
# File 'app/models/user/identities/email_verification.rb', line 33 def self.spent where.not(spent_at: nil) end |
.unspent ⇒ Object
29 30 31 |
# File 'app/models/user/identities/email_verification.rb', line 29 def self.unspent where(spent_at: nil) end |
Instance Method Details
#spend ⇒ Object
52 53 54 |
# File 'app/models/user/identities/email_verification.rb', line 52 def spend self.spent_at = Time.now end |
#spend! ⇒ Object
56 57 58 59 |
# File 'app/models/user/identities/email_verification.rb', line 56 def spend! spend save! end |
#spent? ⇒ Boolean
65 66 67 |
# File 'app/models/user/identities/email_verification.rb', line 65 def spent? !unspent? end |
#unspent? ⇒ Boolean
61 62 63 |
# File 'app/models/user/identities/email_verification.rb', line 61 def unspent? spent_at.nil? ? true : false end |