Módulo: Mongoid::Persistable::Destroyable

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/destructible.rb

Overview

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

Definido en el espacio de nombres

Modules: Métodos de clase

Colapso del resumen del método de instancia

Detalles del método de instancia

#destruir(opciones = nulo) ⇒ verdadero | falso

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

Ejemplos:

Destruir un documento.

document.destroy

Parámetros:

  • opciones (Hash) (predeterminado: nulo)

    Las opciones.

Opciones Hash(opciones):

  • :persistir (true | false)

    Si se debe persistir la acción de eliminación. Las devoluciones de llamada se ejecutarán incluso si el valor es falso.

  • :reprimir (true | false)

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

Devuelve:

  • (verdadero | falso)

    Verdadero si tiene éxito, falso si no.

Aumentos:



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

def destruir(opciones = nulo)
  propagar Errors::Documento de solo lectura.Nuevo(yo.clase) Si ¿solo lectura?
  yo.marcado para destrucción = true
  resultado = ejecutar_devoluciones de llamadas(:comprometerse, skip_if: -> { ¿en_transacción? }) hacer
    ejecutar_devoluciones de llamadas(:destruir) hacer
      Si capturas(:abortar) { ¡Aplicar_destruir_dependencias! }
        borrar(opciones || {}).grifo hacer |res|
          Si res && ¿en_transacción?
            Compacto.add_modified_document(_sesión, yo)
          end
        end
      else
        false
      end
    end
  end
  yo.marcado para destrucción = false
  resultado
end

#¡destruir!(opciones = {}) ⇒ verdadero

Elimina el documento de la base de datos mediante devoluciones de llamada. Se genera un error si el documento no se destruye.

Ejemplos:

Destruir un documento.

document.destroy!

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Las opciones.

Opciones Hash(opciones):

  • :persistir (true | false)

    Si se debe persistir la acción de eliminación. Las devoluciones de llamada se ejecutarán incluso si el valor es falso.

  • :reprimir (true | false)

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

Devuelve:

  • (verdadero) -

    Siempre verdadero.



59
60
61
# Archivo 'lib/mongoid/persistable/destroyable.rb', línea 59

def ¡destruir!(opciones = {})
  destruir(opciones) || propagar(Errors::Documento no destruido.Nuevo(_id, yo.clase))
end