Audited Timeline
This gem provides a frontend to the audited gem.
Setup
Add the gem to your Gemfile and run bundle install.
gem 'audited-timeline'Usage
Rendering the timeline
Render the audited_timeline/list partial and provide it the audits to be
rendered:
<%= render 'audited_timeline/list', audits: @user.all_audits %>Add CSS Styles
Include audited-timeline in your application.scss:
@import "audited-timeline";Rendering associated audits
To ease rendering a timeline which includes associated audits, there is a
AuditedTimeline::AuditedConcern. Include it in your model along with audited and
has_associated_audits:
class User < ActiveRecord::Base
include AuditedTimeline::AuditedConcern
audited
has_associated_audits
endOverriding an audit diff
It is possible to easily override an audit diff.
In development environment, each audit which has been rendered with the default partial contains a HTML comment which points you to the partial you would have to create.
<div class="audited-timeline-body">
<!-- create partial audits/user.create to override this table -->
<h1>User</h1>
<table class="diff">
...
</table>
</div>In this case, create in your application app/views/audits/_user.create.html.erb
to override this audit type.
audited-timeline will provide a locale called audit to your partial.
Readable object names
audited-timeline will simply call #to_s on your model name. To prevent having
#<User:0x007fe2e8a25f58> in your timeline, define #to_s on your User
model:
class User < ActiveRecord::Base
alias_attribute :to_s, :fullname
end