0.0
Low commit activity in last 3 years
Explore the versions of your ActiveRecord models in the browser.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
>= 12.3.3

Runtime

 Project Readme

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.