module RailsArchiver

Takes a database model and: 1) Visits all dependent associations 2) Saves everything in one giant JSON hash 3) Uploads the hash as configured 4) Deletes all current records from the database 5) Marks model as archived

Abstract class that represents a way to store and retrieve the generated JSON object.

Transport that just stores and retrieves the hash in memory.

Transport that stores to S3. Uses an archived_s3_key attribute if present.