Advertisement
Guest User

Untitled

a guest
Jun 1st, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.77 KB | None | 0 0
  1. require 'dm-core'
  2. require 'dm-types'
  3. require 'dm-validations'
  4. require 'dm-serializer'
  5. require 'dm-migrations'
  6.  
  7. class User  
  8.     include DataMapper::Resource
  9.   attr_accessor :password
  10.   attr_accessor :password_confirmation
  11.  
  12.   def after_create
  13.     self.crypted_password = encrypt(password)
  14.     @new = false
  15.     save
  16.   end
  17.  
  18.   def authenticated?(password)
  19.       crypted_password == encrypt(password)
  20.   end
  21.  
  22.   def encrypt(password)
  23.     self.class.encrypt(password, salt)
  24.   end
  25.  
  26.   def self.encrypt(password, salt)
  27.     Digest::SHA1.hexdigest("--#{salt}--#{password}--")
  28.   end
  29.  
  30.   def self.authenticate(hash)
  31.     mail, pass = hash['mail'], hash['password']
  32.  
  33.     if user = Player.first(:mail => mail)
  34.       user if pass && user.authenticated?(pass)
  35.     end
  36.   end
  37.  
  38.  
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement