Módulo: Mongoid::Persistable::Destroyable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/destroyable.rb

Overview

Define el comportamiento para las operaciones de persistencia que destruyen documentos.

Definido bajo Namespace

Modules: ClassMethods

Resumen del método de instancia colapsar

Detalles del método de instancia

#destroy(options = nil) ⇒ verdadero | falso

Remueva el documento de la base de datos utilizando funciones de retorno.

Ejemplos:

Destruye un documento.

document.destroy

Parámetros:

  • opciones (encriptada) (valor por defecto: nil)

    Las opciones.

Opciones Hash (options):

  • :persist (true | false)

    Si se debe persistir la acción de borrar. Las devoluciones de llamada seguirán ejecutándose incluso si es falso.

  • :suppress (true | false)

    Si se debe actualizar el documento principal en memoria al borrar un documento incrustado.

Devuelve:

  • (true | false)

    True si es exitoso, false si no.

Aumenta:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Archivo 'lib/mongoid/persistable/destroyable.rb', línea 21

def destruir(opciones = nulo)
  propagar Errors::ReadonlyDocument.Nuevo(sí mismo.clase) si ¿solo lectura?

  sí mismo.marcado_para_destruir = true
  Resultado = run_callbacks(Commit, skip_if: -> { en_transacción? }) hacer
    run_callbacks(:destroy) hacer
      si atrapar(abortar) { aplicar_destruir_dependencias! }
        borrar(opciones || {}).tocar hacer |res|
          Con hilo.add_modified_document(_sesión, sí mismo) si res && en_transacción?
        end
      else
        false
      end
    end
  end
  sí mismo.marcado_para_destruir = false
  Resultado
end

#destroy!(options = {}) ⇒ true

Remover el documento de la base de datos con funciones de retorno. Lanza un error si el documento no se destruye.

Ejemplos:

Destruye un documento.

document.destroy!

Parámetros:

  • opciones (encriptada) (por defecto: {})

    Las opciones.

Opciones Hash (options):

  • :persist (true | false)

    Si se debe persistir la acción de borrar. Las devoluciones de llamada seguirán ejecutándose incluso si es falso.

  • :suppress (true | false)

    Si se debe actualizar el documento principal en memoria al borrar un documento incrustado.

Devuelve:

  • (cierto)

    Siempre verdadero.



56
57
58
# Archivo 'lib/mongoid/persistable/destroyable.rb', línea 56

def ¡destruir!(opciones = {})
  destruir(opciones) || propagar(Errors::DocumentNotDestroyed.Nuevo(_id, sí mismo.clase))
end