class Mongoid::Association::Nested::Many

Public Instance Methods

destroy(parent, relation, doc) click to toggle source

Destroy the child document, needs to do some checking for embedded relations and delay the destroy in case parent validation fails.

@api private

@example Destroy the child.

builder.destroy(parent, relation, doc)

@param [ Document ] parent The parent document. @param [ Proxy ] relation The relation proxy. @param [ Document ] doc The doc to destroy.

@since 3.0.10

# File lib/mongoid/paranoia/monkey_patches.rb, line 37
def destroy(parent, relation, doc)
  doc.flagged_for_destroy = true
  if !doc.embedded? || parent.new_record? || doc.paranoid?
    destroy_document(relation, doc)
  else
    parent.flagged_destroys.push(-> { destroy_document(relation, doc) })
  end
end