Module: Clearance::Model::InstanceMethods
- Defined in:
- lib/clearance/model.rb
Instance Method Summary collapse
- #authenticated?(password) ⇒ Boolean
- #encrypt(password) ⇒ Object
- #forget_me! ⇒ Object
- #remember_me! ⇒ Object
- #remember_me_until(time) ⇒ Object
- #remember_token? ⇒ Boolean
Instance Method Details
#authenticated?(password) ⇒ Boolean
41 42 43 |
# File 'lib/clearance/model.rb', line 41 def authenticated?(password) crypted_password == encrypt(password) end |
#encrypt(password) ⇒ Object
45 46 47 |
# File 'lib/clearance/model.rb', line 45 def encrypt(password) Digest::SHA1.hexdigest("--#{salt}--#{password}--") end |
#forget_me! ⇒ Object
62 63 64 65 |
# File 'lib/clearance/model.rb', line 62 def forget_me! self.update_attribute :remember_token_expires_at, nil self.update_attribute :remember_token, nil end |
#remember_me! ⇒ Object
53 54 55 |
# File 'lib/clearance/model.rb', line 53 def remember_me! remember_me_until 2.weeks.from_now.utc end |
#remember_me_until(time) ⇒ Object
57 58 59 60 |
# File 'lib/clearance/model.rb', line 57 def remember_me_until(time) self.update_attribute :remember_token_expires_at, time self.update_attribute :remember_token, encrypt("#{email}--#{remember_token_expires_at}") end |
#remember_token? ⇒ Boolean
49 50 51 |
# File 'lib/clearance/model.rb', line 49 def remember_token? remember_token_expires_at && Time.now.utc < remember_token_expires_at end |