Module Mongoid::Paranoia
In: lib/mongoid/paranoia.rb

Include this module to get soft deletion of root level documents. This will add a deleted_at field to the Document, managed automatically. Potentially incompatible with unique indices. (if collisions with deleted items)

@example Make a document paranoid.

  class Person
    include Mongoid::Document
    include Mongoid::Paranoia
  end

Methods

delete   delete!   destroy!   destroyed?   remove   restore  

Public Instance methods

delete(options = {})

Alias for remove

Delete the paranoid Document from the database completely.

@example Hard delete the document.

  document.delete!

@return [ true, false ] If the operation succeeded.

@since 1.0.0

Delete the paranoid Document from the database completely. This will run the destroy callbacks.

@example Hard destroy the document.

  document.destroy!

@return [ true, false ] If the operation succeeded.

@since 1.0.0

Determines if this document is destroyed.

@example Is the document destroyed?

  person.destroyed?

@return [ true, false ] If the document is destroyed.

@since 1.0.0

Delete the Document, will set the deleted_at timestamp and not actually delete it.

@example Soft remove the document.

  document.remove

@param [ Hash ] options The database options.

@return [ true ] True.

@since 1.0.0

Restores a previously soft-deleted document. Handles this by removing the deleted_at flag.

@example Restore the document from deleted state.

  document.restore

@return [ Time ] The time the document had been deleted.

@since 1.0.0

[Validate]