ActivePreview

active_preview is a Ruby on Rails plugin that makes it easy to create previews of updates to records. The previews don't interact with the database but otherwise behave like ActiveRecord objects.

Usage

To preview a model, first run the generator:

$ rails generate active_preview:preview --model MyModel

This will create my_model_preview.rb in app/previews. If you have methods that touch the database in your model that need to be used with previewed data, override them there.

Next, add the #preview method to your model:

class MyModel < ActiveRecord::Base
  include ActivePreview::Previewing
end

Now you can pass an attribute hash or ActionController::Parameters object to my_model.preview to get a preview object with updated attributes that behaves exactly like your model.

For models with associations, run the generator for each associated model and add include ActivePreview::Previewing to each model class.

Installation

Add this line to your application's Gemfile:

gem 'active_preview'

And then execute:

$ bundle

Or install it yourself as:

$ gem install active_preview

Contributing

Contribution directions go here.

License

The gem is available as open source under the terms of the MIT License.