AuditRails

Gem VersionBuild StatusCoverage StatusBitdeli Badge

An action based auditor, which has internal as well as outgoing link tracking.

It is inspired from many great audit gems in rails community that audits model and I was looking for a gem which can audit based on actions as well as can audit link tracking. This gem just serve this purpose.

Roughly it is doing similar to what Omniture does, but has very minimum features for now.

Now also has analytics(charts) for User counts

Example

User visit & page view count by date range:

Audits

Pre-requisites:

For rails 4.0 & 3.2.6 + and ruby>1.9.2:

gem install audit_rails

or in application’s Gemfile add:

gem ‘audit_rails’

Install

rails g audit_rails:install

Usage

To add audit migration:

rake audit_rails:install:migrations

To add additional attributes to Audit (let's say book_id):

Add attributes to migration generated from above rake task

Inherit from AuditRails::Audit:

# MyApp/app/models/audit.rb
class Audit < AuditRails::Audit
  # attr_accessible is only needed for Rails 3.2.6+ not needed for Rails 4+
  attr_accessible :action, :controller, :description, :user_name, 
  :book_id
  # add associations as usual:
  belongs_to :book
end

To log user events

Simply call 'add_to_audit' with desired parameters in any controller (as this is now a helper method included in application_controller.rb of application)

To override controller's add_to_audit method (or the helper method)

Simply re-implement in application_controller.rb

To track user login (one per day)

Override current_user method in application controller, e.g.:

def current_user
  add_to_audit('login', 'sessions', "John Smith")
  super
end

To see Analytics

Go to <app-url>/audit_rails/audits/analytics

To download the audit report as xls file:

Add this to initializers/mime_types.rb

Mime::Type.register "application/vnd.ms-excel", :xls

Use below link in views:

link_to audit_rails.audits_path(:format => "xls")

To Do

  • geoip integration
  • World Map Integration

Changelog

https://github.com/gouravtiwari/audit_rails/blob/master/CHANGELOG.rdoc

Contribute

You are welcome to contribute and add more feature to this gem. I have added rspec and guard to it to run tests quickly. So running specs shouldn't be a problem.

Please fork it, add specs and send a pull request!

License

This project rocks and uses MIT-LICENSE.