Sha256: a2c1755e6902ed9bf701061cb9340c1ec4729ff5417d5cec390263b2b7a18898
Contents?: true
Size: 831 Bytes
Versions: 9
Compression:
Stored size: 831 Bytes
Contents
require 'md5' class OrangeMember < Orange::Carton id front do text :first_name text :last_name text :email text :title text :organization end text :hashed_password text :salt text :reset_token property :reset_on, DateTime def password=(val) attribute_set(:hashed_password, Digest::MD5.hexdigest("#{salt}orange-is-awesome#{val}")) end def salt my_salt = attribute_get(:salt) unless(my_salt) my_salt = Digest::MD5.hexdigest(Time.now.iso8601) attribute_set(:salt, my_salt) end my_salt end def reset! token = Digest::MD5.hexdigest(Time.now.iso8601) # Invalidate password attribute_set(:hashed_password, Digest::MD5.hexdigest("#{salt}#{token}")) attribute_set(:reset_on, DateTime) attribute_set(:reset_token, token) end end
Version data entries
9 entries across 9 versions & 2 rubygems