Module: Challah::UserPasswordable
- Included in:
- Userable
- Defined in:
- lib/challah/concerns/user/passwordable.rb
Instance Method Summary collapse
-
#password!(new_password) ⇒ Object
Set the password and password_confirmation in one shortcut method.
-
#password=(value) ⇒ Object
Set a password for this user.
-
#password_changed? ⇒ Boolean
Was the password updated.
-
#password_confirmation=(value) ⇒ Object
Set the confirmation when changing a password.
- #password_provider ⇒ Object
- #password_provider? ⇒ Boolean
- #username ⇒ Object
- #username=(value) ⇒ Object
Instance Method Details
#password!(new_password) ⇒ Object
Set the password and password_confirmation in one shortcut method.
4 5 6 7 |
# File 'lib/challah/concerns/user/passwordable.rb', line 4 def password!(new_password) self.password = new_password self.password_confirmation = new_password end |
#password=(value) ⇒ Object
Set a password for this user
19 20 21 22 23 24 25 26 27 |
# File 'lib/challah/concerns/user/passwordable.rb', line 19 def password=(value) if value.to_s.blank? @password = nil @password_updated = false else @password = value @password_updated = true end end |
#password_changed? ⇒ Boolean
Was the password updated
35 36 37 |
# File 'lib/challah/concerns/user/passwordable.rb', line 35 def password_changed? !!@password end |
#password_confirmation=(value) ⇒ Object
Set the confirmation when changing a password
30 31 32 |
# File 'lib/challah/concerns/user/passwordable.rb', line 30 def password_confirmation=(value) @password_confirmation = value end |
#password_provider ⇒ Object
14 15 16 |
# File 'lib/challah/concerns/user/passwordable.rb', line 14 def password_provider providers[:password] || Hash.new end |
#password_provider? ⇒ Boolean
9 10 11 12 |
# File 'lib/challah/concerns/user/passwordable.rb', line 9 def password_provider? return true if @password_updated or @username_updated !!providers[:password] end |
#username ⇒ Object
39 40 41 |
# File 'lib/challah/concerns/user/passwordable.rb', line 39 def username @username ||= password_provider? ? password_provider.fetch(:uid, '') : '' end |
#username=(value) ⇒ Object
43 44 45 46 |
# File 'lib/challah/concerns/user/passwordable.rb', line 43 def username=(value) @username_updated = true @username = value.to_s.strip.downcase end |