Clase: Mongo::ClusterTime Privada
- Hereda:
-
BSON::Documento
- Objeto
- BSON::Documento
- Mongo::ClusterTime
- Definido en:
- lib/mongo/cluster_time.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
ClusterTime encapsula el almacenamiento y las operaciones del tiempo del clúster.
La operación principal que se realiza en el tiempo del clúster es avanzarlo: dado otro tiempo de clúster, elegir el más nuevo de los dos.
Esta clase proporciona métodos de comparación que se utilizan para determinar qué hora de clúster es más nueva y brinda diagnósticos en modo pelusa cuando falta la hora real en un documento de hora de clúster.
Definido en el espacio de nombres
Modules: Consumidor
Colapso delresumen del método de clase
-
.[](doc) ⇒ Objeto
privada
Convierte un BSON::Document en un ClusterTime.
Colapso del resumen del método de instancia
- #<(otros) ⇒ Objeto privada
- #<=(otro) ⇒ Objeto privada
-
#<=>(otro) ⇒ Objeto
privada
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
-
#==(otro) ⇒ Objeto
privada
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
- #>(otro) ⇒ Objeto privada
-
#>=(otro) ⇒ Objeto
privada
Los Rubies más antiguos no implementan otros operadores lógicos a través de <=>.
-
#avance(otro) ⇒ Objeto
privada
Avanza el tiempo del clúster en el receptor al tiempo del clúster en
other. -
#initialize(elements = nil) ⇒ ClusterTime
constructor
privada
Una nueva instancia de ClusterTime.
Detalles del constructor
#initialize(elements = nil) ⇒ ClusterTime
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve una nueva instancia de ClusterTime.
30 31 32 33 34 35 36 |
# Archivo 'lib/mongo/cluster_time.rb', línea 30 def inicializar(elementos = nulo) Super Si Lint.¿activado? && !yo['clusterTime'] propagar ArgumentError, 'Creación de un clúster de tiempo sin el campo clusterTime' end end |
Detalles del método de clase
.[](doc) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Convierte un BSON::Document en un ClusterTime.
doc puede ser nulo, en cuyo caso se devuelve nulo.
97 98 99 100 101 102 103 |
# Archivo 'lib/mongo/cluster_time.rb', línea 97 def [](doc) Si doc.nil? || doc.is_a?(Tiempo de clúster) doc else Tiempo de clúster.Nuevo(doc) end end |
Detalles del método de instancia
#<(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
78 79 80 |
# Archivo 'lib/mongo/cluster_time.rb', línea 78 def <(otros) (yo <=> otros) == -1 end |
#<=(otro) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
75 76 77 |
# Archivo 'lib/mongo/cluster_time.rb', línea 75 def < =(otros) (yo <=> otros) != 1 end |
#<=>(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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 |
# Archivo 'lib/mongo/cluster_time.rb', línea 56 def <=>(otros) Si yo['clusterTime'] && otros['clusterTime'] yo['clusterTime'] <=> otros['clusterTime'] elsif !yo['clusterTime'] propagar ArgumentError, "Nose pueden comparar los tiempos del clúster cuando al receptor le falta la clave clusterTime: #{inspect}" else otros['clusterTime'] propagar ArgumentError, "Nose pueden comparar los tiempos del clúster cuando falta la clave clusterTime: #{other.inspect}" end end |
#==(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Compara dos instancias de ClusterTime comparando sus marcas de tiempo.
83 84 85 86 87 88 89 90 91 |
# Archivo 'lib/mongo/cluster_time.rb', línea 83 def ==(otros) Si yo['clusterTime'] && otros['clusterTime'] && yo['clusterTime'] == otros['clusterTime'] entonces true else false end end |
#>(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
72 73 74 |
# Archivo 'lib/mongo/cluster_time.rb', línea 72 def >(otros) (yo <=> otros) == 1 end |
#>=(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Las versiones anteriores de Rubie no implementan otros operadores lógicos mediante <=>. Se debe revisar si estos métodos son necesarios al implementar jira.mongodb.org/browse/RUBY-.1622
69 70 71 |
# Archivo 'lib/mongo/cluster_time.rb', línea 69 def >=(otros) (yo <=> otros) != -1 end |
#avance(otro) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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 nulo o una instancia de ClusterTime.
45 46 47 48 49 50 51 52 53 |
# Archivo 'lib/mongo/cluster_time.rb', línea 45 def avanzar(otros) Si yo['clusterTime'] && otros['clusterTime'] && otros['clusterTime'] > yo['clusterTime'] entonces Tiempo de clúster[otros] else yo end end |