diff options
Diffstat (limited to 'interfaces/ruby/models/user.rb')
-rw-r--r-- | interfaces/ruby/models/user.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/interfaces/ruby/models/user.rb b/interfaces/ruby/models/user.rb index 8b88b4a..a251dec 100644 --- a/interfaces/ruby/models/user.rb +++ b/interfaces/ruby/models/user.rb @@ -1,8 +1,19 @@ +require 'bcrypt' + class User < ActiveRecord::Base has_many :posts + has_many :sessions validates_presence_of :username validates_presence_of :password_hash + + def hash(password) + BCrypt::Password.create(password) + end + + def authenticate(password) + BCrypt::Password.new(@password) == password + end end class CreateUserTable < ActiveRecord::Migration[6.0] |