Sha256: 0a101f6b1cbd6084bf8c39c8e2c0f06f5353b4db51601e0d74d7b868a8d37223

Contents?: true

Size: 709 Bytes

Versions: 32

Compression:

Stored size: 709 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(false)
  end
end

Version data entries

32 entries across 27 versions & 7 rubygems

Version Path
graffititracker_devise-1.0.11 lib/devise/hooks/trackable.rb
devise-1.0.11 lib/devise/hooks/trackable.rb
devise-1.0.10 lib/devise/hooks/trackable.rb
devise_ennder-1.4.1.0.9 lib/devise/hooks/trackable.rb
devise_ennder-1.4.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/hooks/trackable.rb
devise_ennder-1.3.1.0.9 lib/devise/hooks/trackable.rb
devise_ennder-1.3.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/hooks/trackable.rb
devise_ennder-1.2.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/hooks/trackable.rb
devise_ennder-1.2.1.0.9 lib/devise/hooks/trackable.rb
devise_ennder-1.1.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/hooks/trackable.rb
devise_ennder-1.1.1.0.9 lib/devise/hooks/trackable.rb
devise_ennder-1.0.1.0.9 lib/devise/hooks/trackable.rb
devise_ennder-1.0.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/hooks/trackable.rb
devise-1.0.9 lib/devise/hooks/trackable.rb
dcu-devise-1.0.7 lib/devise/hooks/trackable.rb
devise-1.0.8 lib/devise/hooks/trackable.rb
ivanvc-devise-1.0.7.1 lib/devise/hooks/trackable.rb
mongoid-devise-1.0.1 lib/devise/hooks/trackable.rb
devise-1.0.7 lib/devise/hooks/trackable.rb
devise-1.0.6 lib/devise/hooks/trackable.rb