Module: Clearance::Model::InstanceMethods

Defined in:
lib/clearance/model.rb

Instance Method Summary collapse

Instance Method Details

#authenticated?(password) ⇒ Boolean

Returns:

  • (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

Returns:

  • (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