Sha256: c02ac9e465fc73e76a221744a9f3db4d5e3c0e9ae1eebcb1991ce5282b02a0ff
Contents?: true
Size: 722 Bytes
Versions: 3
Compression:
Stored size: 722 Bytes
Contents
# After each sign in, update sign in time, sign in count and sign in IP. Warden::Manager.after_set_user :except => :fetch do |record, warden, options| scope = options[:scope] if Devise.mappings[scope].try(:trackable?) && warden.authenticated?(scope) old_current, new_current = record.current_sign_in_at, Time.now record.last_sign_in_at = old_current || new_current record.current_sign_in_at = new_current old_current, new_current = record.current_sign_in_ip, warden.request.remote_ip record.last_sign_in_ip = old_current || new_current record.current_sign_in_ip = new_current record.sign_in_count ||= 0 record.sign_in_count += 1 record.save(:validate => false) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
devise-1.1.pre3 | lib/devise/hooks/trackable.rb |
devise-1.1.pre2 | lib/devise/hooks/trackable.rb |
devise-1.1.pre | lib/devise/hooks/trackable.rb |