Module: Lobby::AuthUser
- Defined in:
- lib/lobby/auth_user.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #active? ⇒ Boolean
- #confirm_signup! ⇒ Object
- #confirmed? ⇒ Boolean
- #confirmed_duplicate_email(test_mail = self.email) ⇒ Object
-
#confirmed_duplicate_username(test_username = self.username) ⇒ Object
attr_accessible :username.
- #resend_signup_token ⇒ 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 14 15 16 |
# File 'lib/lobby/auth_user.rb', line 4 def self.included(base) base.has_secure_password(validations: :validate_password?) base.validates :email, presence: true, if: :email_required? base.validates :email, format: {with: EMAIL_REGEX, multiline: true}, if: Proc.new { |u| u.email.present? } base.validates :email, uniqueness: true, :unless => :confirmed_duplicate_email, :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.validates :username, presence: true, if: :username_required? base.validates :username, uniqueness: true, :unless => :confirmed_duplicate_username, :on => :create base.extend ClassMethods end |
Instance Method Details
#active? ⇒ Boolean
54 55 56 |
# File 'lib/lobby/auth_user.rb', line 54 def active? self.active == true end |
#confirm_signup! ⇒ Object
44 45 46 47 48 |
# File 'lib/lobby/auth_user.rb', line 44 def confirm_signup! update_attribute(:confirmed, Time.now) update_attribute(:signup_token, nil) update_attribute(:active, true) end |
#confirmed? ⇒ Boolean
50 51 52 |
# File 'lib/lobby/auth_user.rb', line 50 def confirmed? !self.confirmed.nil? end |
#confirmed_duplicate_email(test_mail = self.email) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/lobby/auth_user.rb', line 35 def confirmed_duplicate_email(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 false end end |
#confirmed_duplicate_username(test_username = self.username) ⇒ Object
attr_accessible :username
60 61 62 63 64 65 66 67 |
# File 'lib/lobby/auth_user.rb', line 60 def confirmed_duplicate_username(test_username = self.username) if ((User.confirmed.with_username(test_username).count == 0) || (User.with_username(test_username).count == 0)) true else false end end |
#resend_signup_token ⇒ Object
95 96 97 98 |
# File 'lib/lobby/auth_user.rb', line 95 def resend_signup_token return unless (!confirmed? && generate_token(:signup_token)) tokenmail(:resend_signup_token) end |
#send_password_reset(with_mail = true) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/lobby/auth_user.rb', line 83 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
90 91 92 93 |
# File 'lib/lobby/auth_user.rb', line 90 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.
79 80 81 |
# File 'lib/lobby/auth_user.rb', line 79 def tokenmail(request) ConfirmationMailer.send(request, self).deliver end |