Class: Beeta::Model::User
- Inherits:
-
Sequel::Model
- Object
- Sequel::Model
- Beeta::Model::User
- Includes:
- Mixin
- Defined in:
- lib/beeta/model.rb
Constant Summary collapse
- PublicProperties =
[ :email, :created, :app_uris, ]
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Mixin
Class Method Details
.authenticate(email, pw) ⇒ Object
31 32 33 34 35 |
# File 'lib/beeta/model.rb', line 31 def self.authenticate email, pw u = self[:email => email] return unless u return u if hash_password(u.salt, pw) == u.hashed_password end |
.hash_password(salt, pw) ⇒ Object
27 28 29 |
# File 'lib/beeta/model.rb', line 27 def self.hash_password salt, pw Digest::SHA1.hexdigest "#{salt}#{pw}" end |
.random_salt ⇒ Object
23 24 25 |
# File 'lib/beeta/model.rb', line 23 def self.random_salt rand.to_s[2..-1] end |
Instance Method Details
#app_uris ⇒ Object
42 43 44 |
# File 'lib/beeta/model.rb', line 42 def app_uris [] end |
#before_create ⇒ Object
37 38 39 40 |
# File 'lib/beeta/model.rb', line 37 def before_create self.created = Time.now super end |
#password=(pw) ⇒ Object
46 47 48 49 50 |
# File 'lib/beeta/model.rb', line 46 def password=(pw) self.salt = self.class.random_salt self.hashed_password = self.class.hash_password salt, pw pw end |