Guest User

Untitled

a guest
Mar 6th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. require 'digest/sha1'
  2.  
  3. class User < ActiveRecord::Base
  4.  
  5. validates_presence_of :name, :email, :password, :password_confirmation
  6. validates_uniqueness_of :name
  7.  
  8. attr_accessor :password_confirmation
  9. validates_confirmation_of :password
  10.  
  11. def validate
  12. errors.add_to_base("missing password") if hashed_password.blank?
  13. errors.add_to_base("missing email adress") if email.blank?
  14. end
  15.  
  16. def self.authenticate(name, password)
  17. user = self.find_by_name(name)
  18. if user
  19. if user.hashed_password != encrypted_password(password)
  20. user = nil
  21. end
  22. end
  23. user
  24. end
  25.  
  26. def password
  27. @password
  28. end
  29.  
  30. def password=(pwd)
  31. @password = pwd
  32. return if pwd.blank?
  33. self.hashed_password = User.encrypted_password(self.password)
  34. end
  35.  
  36. def name
  37. self.name
  38. end
  39.  
  40. private
  41.  
  42. def self.encrypted_password(password)
  43. Digest::SHA1.hexdigest(password)
  44. end
  45.  
  46. end
Add Comment
Please, Sign In to add comment