Guest User

Untitled

a guest
Oct 21st, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. class User < ActiveRecord::Base
  2. attr_accessible :name
  3. validates :name, :presence => true, :uniqueness => true
  4.  
  5. validates :password, :confirmation => true
  6. attr_accessor :password_confirmation
  7. attr_reader :password
  8.  
  9. validate :password_must_be_present
  10.  
  11. def User.encrypt_password(password, salt)
  12. Digest::SHA2.hexidigest(password + "wibble" + salt)
  13. end
  14.  
  15. def User.authenticate(name, password)
  16. if user = find_by_name(name)
  17. if user.hashed_password == encrypt_password(password, user.salt)
  18. user
  19. end
  20. end
  21. end
  22.  
  23. def generate_salt
  24. self.salt = self.object_id.to_s + rand.to_s
  25. end
  26.  
  27. def password=(password)
  28. @password = password
  29.  
  30. if password.present?
  31. generate_salt
  32. self.hased_password = self.class.encrypt_password(password, salt)
  33. end
  34. end
  35.  
  36. private
  37. def password_must_be_present
  38. errors.add(:password, "Missing password") unless hashed_password.present?
  39. end
  40. end
  41.  
  42.  
  43. ==========
  44. line with error:
  45. ==========
  46.  
  47. @user = User.new(params[:user])
Add Comment
Please, Sign In to add comment