Mongoid::Archivable

Build Status Gem Version

Moves Mongoid documents to an archive instead of destroying them.

Installation

Add this line to your application's Gemfile:

gem 'mongoid-archivable'

And then execute:

$ bundle

Or install it yourself as:

$ gem install mongoid-archivable

Usage

In any Mongoid document, do this:

include Mongoid::Archivable

Now a destroy of a document will move the document to an Archive collection, namespaced under the document you're destroying.

You can restore an archive as well. Send the .restore message to it. For now the archived document is retained, but that might change in the future.

Example

user = User.create! name: "Example User"
user.destroy

User.count # => 0
User::Archive.count # => 1

archived_user = User::Archive.last
archived_user.restore

User.count # => 1
User::Archive.count # => 1

Development

Please report any issues to the GitHub issue tracker.