Module: AuthSlice::BaseModel::InstanceMethods
- Defined in:
- app/models/base_model.rb
Instance Method Summary collapse
- #authenticated?(password) ⇒ Boolean
-
#encrypt(password) ⇒ Object
Encrypts the password with the user salt.
-
#encrypt_password ⇒ Object
before filter.
- #forget_me ⇒ Object
-
#remember_me ⇒ Object
These create and unset the fields required for remembering users between browser closes Default of 2 weeks.
- #remember_me_for(days) ⇒ Object
- #remember_me_until(time) ⇒ Object
- #remember_token? ⇒ Boolean
Instance Method Details
#authenticated?(password) ⇒ Boolean
15 16 17 |
# File 'app/models/base_model.rb', line 15 def authenticated?(password) crypted_password == encrypt(password) end |
#encrypt(password) ⇒ Object
Encrypts the password with the user salt
27 28 29 |
# File 'app/models/base_model.rb', line 27 def encrypt(password) self.class.encrypt(password, salt) end |
#encrypt_password ⇒ Object
before filter
20 21 22 23 24 |
# File 'app/models/base_model.rb', line 20 def encrypt_password return if password.blank? self.salt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{username}--") if new_record? self.crypted_password = encrypt(password) end |
#forget_me ⇒ Object
51 52 53 54 55 |
# File 'app/models/base_model.rb', line 51 def forget_me self.remember_token_expires_at = nil self.remember_token = nil self.save end |
#remember_me ⇒ Object
These create and unset the fields required for remembering users between browser closes Default of 2 weeks
47 48 49 |
# File 'app/models/base_model.rb', line 47 def remember_me remember_me_for(14) end |
#remember_me_for(days) ⇒ Object
41 42 43 |
# File 'app/models/base_model.rb', line 41 def remember_me_for(days) remember_me_until (Date.today + days) end |
#remember_me_until(time) ⇒ Object
35 36 37 38 39 |
# File 'app/models/base_model.rb', line 35 def remember_me_until(time) self.remember_token_expires_at = time self.remember_token = encrypt("#{email}--#{remember_token_expires_at}") save end |
#remember_token? ⇒ Boolean
31 32 33 |
# File 'app/models/base_model.rb', line 31 def remember_token? remember_token_expires_at && Date.today < remember_token_expires_at end |