module Devise::Models::Trackable

Track information about your user sign in. It tracks the following columns:

Public Instance Methods

update_tracked_fields!(request) click to toggle source
# File lib/devise/models/trackable.rb, line 18
def update_tracked_fields!(request)
  old_current, new_current = self.current_sign_in_at, Time.now.utc
  self.last_sign_in_at     = old_current || new_current
  self.current_sign_in_at  = new_current

  old_current, new_current = self.current_sign_in_ip, request.ip
  self.last_sign_in_ip     = old_current || new_current
  self.current_sign_in_ip  = new_current

  self.sign_in_count ||= 0
  self.sign_in_count += 1

  save(:validate => false) or raise "Devise trackable could not save #{inspect}."            "Please make sure a model using trackable can be saved at sign in."
end

Public Class Methods

required_fields(klass) click to toggle source
# File lib/devise/models/trackable.rb, line 14
def self.required_fields(klass)
  [:current_sign_in_at, :current_sign_in_ip, :last_sign_in_at, :last_sign_in_ip, :sign_in_count]
end