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 MyModelThis 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
endNow 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:
$ bundleOr install it yourself as:
$ gem install active_previewContributing
Contribution directions go here.
License
The gem is available as open source under the terms of the MIT License.