Clase: Mongoid::Atomic::Paths::Embedded::Many

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
Mongoid::Atomic::Paths::Incrustado
Definido en:
lib/mongoid/atomic/paths/embedded/many.rb

Overview

Esta clase encapsula el comportamiento para localizar y actualizar documentos que están definidos como un 1-n incrustado.

Resumen de atributos de instancia

Atributos incluidos desde Mongoid::Atomic::Paths::Embedded

#delete_modifier, #document, #insert_modifier, #parent

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos incluidos en Mongoid::Atomic::Paths::Embedded

#camino

Detalles del constructor

#inicializar(documento) ⇒ Muchos

Crear la utilidad de nueva ruta.

Ejemplos:

Crear la ruta util.

Many.new(document)

Parámetros:

  • Documento (Documento) -

    El documento para generar las rutas.



20
21
22
23
# Archivo 'lib/mongoid/atomic/paths/embedded/many.rb', línea 20

def inicializar(Documento)
  @documento, @parent = Documento, Documento._padre
  @insert_modifier, @delete_modifier ="$push", "$pull"
end

Detalles del método de clase

.position_without_document(padre, asociación) ⇒ Cadena

Obtiene la posición donde se ubicaría el documento para la asociación dada. El caso de uso de esta función es cuando se intenta persistir una lista vacía para una asociación incrustada. Todas las funciones existentes para obtener la posición donde se almacena un documento requieren pasar un documento para almacenar, lo cual no ocurre al intentar almacenar la lista vacía.

Parámetros:

Devuelve:

  • (Cadena) -

    La cadena de posición.



52
53
54
55
# Archivo 'lib/mongoid/atomic/paths/embedded/many.rb', línea 52

def posición_sin_documento(padre, asociación)
  pos = padre.posición atómica
  "#{pos}#{". " a menos que pos. estéenblanco? }#{association. store_as }"
end

Detalles del método de instancia

#posiciónCadena

Obtener la posición del documento en la jerarquía. Esto incluirá los índices de las asociaciones incrustadas 1-n que puedan estar por encima de las muchas incrustadas.

Ejemplos:

Conseguir el puesto.

many.position

Devuelve:

  • (Cadena) -

    La posición del documento.



33
34
35
36
37
# Archivo 'lib/mongoid/atomic/paths/embedded/many.rb', línea 33

def posición
  pos = padre.posición atómica
  localizador = Documento.¿nuevo_registro? ? "" : ". #{documento._índice}"
  "#{pos}#{". " a menos que pos. esté en blanco?}#{document._association. store_as}#{locator}"
end