Clase: Mongo::ClusterTime Privado
- Hereda:
-
BSON::Documento
- Objeto
- BSON::Documento
- Mongo::ClusterTime
- Incluye:
- Comparable
- Definido en:
- lib/mongo/cluster_time.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
ClusterTime encapsula el almacenamiento y las operaciones de tiempo de clúster.
La operación principal que se realiza en el tiempo del clúster es avanzar: dado otro tiempo del clúster, elija el más reciente de los dos.
Esta clase proporciona métodos de comparación que se utilizan para determinar qué tiempo de clúster es más reciente, y proporciona diagnósticos en modo lint cuando falta el tiempo real en un documento de tiempo de clúster.
Definido bajo Namespace
Modules: Consumidor
Resumen del método de clase colapsar
-
.[](doc) ⇒ Object
privado
Convierte un BSON::Document a ClusterTime.
Resumen del método de instancia colapsar
-
#<=>(Otro) ⇒ Objeto
privado
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
-
#==(otro) ⇒ Objeto
privado
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
-
#advance(otro) ⇒ objeto
privado
Avanza el tiempo del clúster en el receptor al tiempo del clúster en
other. -
#initialize(elements = nil) ⇒ ClusterTime
constructor
privado
Una nueva instancia de ClusterTime.
Detalles del Constructor
#initialize(elements = nil) ⇒ ClusterTime
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve una nueva instancia de ClusterTime.
31 32 33 34 35 36 37 |
# Archivo 'lib/mongo/cluster_time.rb', línea 31 def inicializar(elementos = nulo) super return a menos que Lint.¿habilitado? && !sí mismo['clusterTime'] propagar ArgumentError, 'Creando un tiempo de clúster sin campo clusterTime' end |
Detalles del método de clase
.[](doc) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Convierte un BSON::Document a ClusterTime.
doc puede ser nil, en cuyo caso se devuelve nil.
81 82 83 84 85 86 87 |
# Archivo 'lib/mongo/cluster_time.rb', línea 81 def [](doc) si doc.nil? || doc.is_a?(ClusterTime) doc else ClusterTime.Nuevo(doc) end end |
Detalles del método de instancia
#<=>(otro) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
56 57 58 59 60 61 62 63 64 65 |
# Archivo 'lib/mongo/cluster_time.rb', línea 56 def <=>(Otros) si sí mismo['clusterTime'] && Otros['clusterTime'] sí mismo['clusterTime'] <=> Otros['clusterTime'] elsif !sí mismo['clusterTime'] propagar ArgumentError, "No se pueden comparar los tiempos de clúster cuando al receptor le falta la clave de clusterTime: #{inspeccionar}" else Otros['clusterTime'] propagar ArgumentError, "No se pueden comparar los tiempos de clúster cuando a otro le falta la clave clusterTime: #{otro.inspeccionar}" end end |
#==(otra) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
68 69 70 71 72 73 74 75 |
# Archivo 'lib/mongo/cluster_time.rb', línea 68 def ==(Otros) si sí mismo['clusterTime'] && Otros['clusterTime'] && sí mismo['clusterTime'] == Otros['clusterTime'] true else false end end |
#avanzar(otro) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Avanza el tiempo del clúster en el receptor al tiempo del clúster en other.
other puede ser nulo o estar detrás del tiempo del clúster en el receptor; en esos casos, el receptor se devuelve sin modificaciones. Si el receptor está adelantado, se devuelve un nuevo objeto ClusterTime.
El valor de retorno es nil o una instancia de ClusterTime.
46 47 48 49 50 51 52 53 |
# Archivo 'lib/mongo/cluster_time.rb', línea 46 def anticipo(Otros) si sí mismo['clusterTime'] && Otros['clusterTime'] && Otros['clusterTime'] > sí mismo['clusterTime'] ClusterTime[Otros] else sí mismo end end |