Module: RailsJwtAuth::Trackable
- Defined in:
- app/models/concerns/rails_jwt_auth/trackable.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'app/models/concerns/rails_jwt_auth/trackable.rb', line 18 def self.included(base) base.class_eval do if defined?(Mongoid) && ancestors.include?(Mongoid::Document) field :last_sign_in_at, type: Time field :last_sign_in_ip, type: String field :last_request_at, type: Time field :last_request_ip, type: String end end end |
Instance Method Details
#track_session_info(request) ⇒ Object
3 4 5 6 7 8 |
# File 'app/models/concerns/rails_jwt_auth/trackable.rb', line 3 def track_session_info(request) return unless request self.last_sign_in_at = Time.current self.last_sign_in_ip = request.respond_to?(:remote_ip) ? request.remote_ip : request.ip end |
#update_tracked_request_info(request) ⇒ Object
10 11 12 13 14 15 16 |
# File 'app/models/concerns/rails_jwt_auth/trackable.rb', line 10 def update_tracked_request_info(request) return unless request self.last_request_at = Time.current self.last_request_ip = request.respond_to?(:remote_ip) ? request.remote_ip : request.ip self.save(validate: false) end |