Module: Lobby::AuthUser
- Defined in:
- app/models/lobby/auth_user.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #active? ⇒ Boolean
- #confirm_new_email! ⇒ Object
- #confirm_signup! ⇒ Object
- #confirmed? ⇒ Boolean
- #confirmed_duplicate(test_mail = self.email) ⇒ Object
- #resend_signup_token ⇒ Object
- #send_new_email_request ⇒ Object
- #send_password_reset(with_mail = true) ⇒ Object
- #send_registration ⇒ Object
-
#tokenmail(request) ⇒ Object
Nach erfolgreicher Verifizierung der Email-Adresse) wird das Feld confirmed mit einem Datum gefüllt.
Class Method Details
.included(base) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'app/models/lobby/auth_user.rb', line 4 def self.included(base) base.has_secure_password base.validates :email, presence: true base.validates :email, format: {with: EMAIL_REGEX, multiline: true}, if: Proc.new { |u| u.email.present? } base.validates :email, uniqueness: true, :unless => :confirmed_duplicate, :on => :create, if: Proc.new { |u| u.email.present? } base.validates :password, length: { minimum: 5 }, :on => :create, if: Proc.new { |u| u.password.present? } base.extend ClassMethods end |
Instance Method Details
#active? ⇒ Boolean
53 54 55 |
# File 'app/models/lobby/auth_user.rb', line 53 def active? self.active == true end |
#confirm_new_email! ⇒ Object
44 45 46 47 |
# File 'app/models/lobby/auth_user.rb', line 44 def confirm_new_email! update_attribute(:email, new_email) update_attribute(:new_email_token, nil) end |
#confirm_signup! ⇒ Object
38 39 40 41 42 |
# File 'app/models/lobby/auth_user.rb', line 38 def confirm_signup! update_attribute(:confirmed, Time.now) update_attribute(:signup_token, nil) update_attribute(:active, true) end |
#confirmed? ⇒ Boolean
49 50 51 |
# File 'app/models/lobby/auth_user.rb', line 49 def confirmed? !self.confirmed.nil? end |
#confirmed_duplicate(test_mail = self.email) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'app/models/lobby/auth_user.rb', line 28 def confirmed_duplicate(test_mail = self.email) if ((self.class.name.constantize.confirmed.with_email(test_mail).count == 0) || (self.class.name.constantize.with_email(test_mail).count == 0)) true else #self.id = self.class.name.constantize.confirmed.with_email(test_mail).first.id false end end |
#resend_signup_token ⇒ Object
83 84 85 86 |
# File 'app/models/lobby/auth_user.rb', line 83 def resend_signup_token return unless (!confirmed? && generate_token(:signup_token)) tokenmail(:resend_signup_token) end |
#send_new_email_request ⇒ Object
88 89 90 91 |
# File 'app/models/lobby/auth_user.rb', line 88 def send_new_email_request return unless (confirmed? && generate_token(:new_email_token)) tokenmail(:new_email_request) end |
#send_password_reset(with_mail = true) ⇒ Object
71 72 73 74 75 76 |
# File 'app/models/lobby/auth_user.rb', line 71 def send_password_reset(with_mail = true) return unless generate_token(:password_token) if with_mail tokenmail(:send_password_reset) end end |
#send_registration ⇒ Object
78 79 80 81 |
# File 'app/models/lobby/auth_user.rb', line 78 def send_registration return unless generate_token(:signup_token) tokenmail(:registration) end |
#tokenmail(request) ⇒ Object
Nach erfolgreicher Verifizierung der Email-Adresse) wird das Feld confirmed mit einem Datum gefüllt. Ab diesem Zeitpunkt kann keine neuer Confirmation-Token generiert und verschickt werden.
67 68 69 |
# File 'app/models/lobby/auth_user.rb', line 67 def tokenmail(request) ConfirmationMailer.send(request, self).deliver end |