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

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

Overview

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

Resumen del atributo de la instancia

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

#delete_modifier, #document, #insert_modifier, #parent

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

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

#camino

Detalles del constructor

#initialize(documento) ⇒ Muchos

Cree la nueva utilidad de 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._parent
  @insert_modifier, @delete_modifier ="$push", "$pull"
end

Detalles del método de clase

.position_without_document(parent, association) ⇒ String

Obtenga la posición donde iría el documento para la asociación dada. El caso de uso para esta función es cuando se intenta conservar una lista vacía para una asociación incrustada. Todas las funciones existentes para obtener la posición donde almacenar un documento requieren que se pase un documento que debe almacenarse, que no tenemos al intentar almacenar la lista vacía.

Parámetros:

Devuelve:

  • (string)

    La cadena de posición.



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

def position_without_document(padre, asociación)
  posiciones = padre.posición_atómica
  "#{pos}#{"." a menos que pos.blank?}#{association.store_as}"
end

Detalles del método de instancia

#posiciónString

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:

  • (string)

    La posición del documento.



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

def posición
  posiciones = padre.posición_atómica
  localizador = Documento.nuevo_registro? ? "" : ".#{documento._índice}"
  "#{posición}#{"." a menos que posición.en blanco?}#{documento._asociación.almacenar_como}#{localizador}"
end