This module contains the behaviour of Mongoid's clone/dup of documents.
Clone or dup the current Document
. This will return all
attributes with the exception of the document's id and versions, and will
reset all the instance variables.
This clone also includes embedded documents.
@example Clone the document.
document.clone
@param [ Document ] other The document getting cloned.
@return [ Document ] The new document.
# File lib/mongoid/copyable.rb, line 19 def clone # @note This next line is here to address #2704, even though having an # _id and id field in the document would cause problems with Mongoid # elsewhere. attrs = clone_document.except("_id", "id") self.class.new(attrs, without_protection: true) end