AuditRails
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.
Pre-requisites:
For rails 3.1.x and ruby 1.9.3:
gem install audit_rails
or in application’s Gemfile add:
gem ‘audit_rails’
Install
rails g audit_rails:install
-
To add audit migration:
rake audit_rails:install:migrations
-
Add audit.js to application.js file:
//= require audit_rails/audit
-
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 :action, :controller, :description, :user_name, :book_id #add associations as usual: belongs_to :book end
-
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 all audits go to <app-url>/audit_rails/audits
-
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")
-
Changelog
github.com/gouravtiwari/audit_rails/blob/master/README.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.