Keep history of user page views and time spent on different pages in rails. This gem depends on devise gem and uses devise ‘current_user’ helper method which can be configured.
Simply add trackstamps gem to your Gemfile.
gem 'devise-activity'
Install bundler gems
bundle install
Install trackstamps
rails generate devise_activity:install
You can change sessions and navigations table names from generated configuration file (config/initializers/devise_activity.rb) before generating migration. Generate migration on required model’s table
rails generate devise_activity:migration
Include DeviseActivity module to application controller or admin etc for which you want to track user activities
class ApplicationController include DeviseActivity ..... end
Execute migrations
rake db:migrate
And now you are ready to track changes
It will automatically keep of #’s, sign out’s and page views history in sessions and navigations table i.e.
DeviseActivity::Session.all
will return last account was created by which user. Similarily
DeviseActivity::Session.last.navigations DeviseActivity::Session.where(user_id: 12).all DeviseActivity::Session.where(user_id: 12).last.navigations DeviseActivity::Navigation.count DeviseActivity::Navigation.last.action DeviseActivity::Navigation.last.controller
DeviseActivity also provide few handy model methods for Statistics
DeviseActivity::Stats.most_visits_by DeviseActivity::Stats.least_visits_by DeviseActivity::Stats.most_popular_controller DeviseActivity::Stats.least_popular_controller DeviseActivity::Stats.most_popular_action DeviseActivity::Stats.least_popular_action DeviseActivity::Stats.most_visited_page DeviseActivity::Stats.least_visited_page DeviseActivity::Stats.most_sign_ins_by DeviseActivity::Stats.total_sign_ins(user)
-
Mongoid ORM support
-
Fork it
-
Create your feature branch (‘git checkout -b my-new-feature`)
-
Commit your changes (‘git commit -am ’Added some feature’‘)
-
Push to the branch (‘git push origin my-new-feature`)
-
Create new Pull Request