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 de 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:

Crea el utilitario de ruta.

Many.new(document)

Parámetros:

  • Documento (documento)

    El documento para el cual generar las rutas.



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

def inicializar(Documento)
  @document, @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 en la que se colocaría el document 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 para almacenar un document requieren pasar un document para almacenar, que no tenemos al intentar almacenar la lista vacía.

Parámetros:

Devuelve:

  • (string)

    La string de posición.



49
50
51
52
# Archivo 'lib/mongoid/atomic/paths/embedded/many.rb', línea 49

def position_without_document(padre, asociación)
  posiciones = padre.posición_atómica
  "#{pos}#{'.' a menos que pos.esté vacío?}#{asociación.guardar_como}"
end

Detalles del método de instancia

#posiciónString

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

Ejemplos:

Obtener la posición.

many.position

Devuelve:

  • (string)

    La posición del documento.



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

def posición
  posiciones = padre.posición_atómica
  localizador = Documento.nuevo_registro? ? '' : ".#{documento._índice}"
  "#{pos}#{'.' a menos que pos.blank?}#{document._association.store_as}#{locator}"
end