Time Streamer
Explore the versions of your ActiveRecord models in the browser.
The web interface allows you to view models at different points in time based on versions from an auditing system. It also allows for traversing associations. Works with Audited and PaperTrail by default.
Installation
Add this line to your application's Gemfile:
gem 'time_streamer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install time_streamer
Usage
Mount Time Streamer inside your application
# routes.rb
mount TimeStreamer::App, at: '/time_streamer'
Configure the gem to suit your needs. The following example shows the default configuration.
# config/initializers/time_streamer.rb
TimeStreamer.configure do |config|
config.adapter = TimeStreamer::Adapters::Audited.new
config.global_ignored_associations = []
config.ignored_associations = {}
config.mount_path = '/time_streamer'
end
The two available adapters are TimeStreamer::Adapters::Audited
and TimeStreamer::Adapters::PaperTrail
.
Ignore associations that should not be displayed. For example, the association containing the versions (audits
for Audited and versions
for PaperTrail) should probably be ignored.
To ignore associations for specific models, set the ignored_associations
hash.
IMPORTANT: The associations have to be given as strings, not symbols!
TimeStreamer.configure do |config|
config.global_ignored_associations = ['audits']
config.ignored_associations = {
'Customer' => ['product_ratings'],
'Order' => ['products', 'discounts']
}
end
License
The gem is available as open source under the terms of the MIT License.