Classe: Mongo::ClusterTime Private
- Herda:
-
BSON::Document
- Objeto
- BSON::Document
- Mongo::ClusterTime
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/cluster_time.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
O ClusterTime encapsula o armazenamento e as operações de tempo de cluster.
A principal operação realizada no tempo de cluster é avance para ele: dado outro tempo de cluster, escolha o mais recente dos dois.
Essa classe fornece métodos de comparação usados para descobrir qual tempo de cluster é mais recente e fornece diagnósticos no modo lint quando o tempo real está ausente em um documento de tempo de cluster.
Definido sob namespace
Módulos: Consumidor
Recolhimento do Resumo do método de classe
-
.[](doc) ➤ Objeto
privado
Converte um BSON::Document para um ClusterTime.
Recolhimento do Resumo do método de instância
- #<(outro) ➤ Objeto privado
- #<=(outro) ➤ Objeto privado
-
#<=>(outro) ➤ Objeto
privado
Compara duas instâncias ClusterTime comparando seus registros de data/hora.
-
#==(outro) ➤ Objeto
privado
Compara duas instâncias ClusterTime comparando seus registros de data/hora.
- #>(outro) ➤ Objeto privado
-
#>=(outro) ➤ Objeto
privado
Os Rubis mais antigos não implementam outros operadores lógicos através de <=>.
-
#adiantamento(outro) ➤ Objeto
privado
Avança a hora do cluster no receptor para a hora do cluster em
other
. -
#initialize(elements = nil) ⇒ ClusterTime
construtor
privado
Uma nova instância do ClusterTime.
Detalhes do construtor
#initialize(elements = nil) ➤ ClusterTime
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna uma nova instância de ClusterTime.
30 31 32 33 34 35 36 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 30 def inicializar(Elementos = nada) super se Lint.habilitado? && !auto['clusterTime'] aumentar ArgumentError, 'Criando um tempo de cluster sem o campo clusterTime' end end |
Detalhes do método de classe
.[](doc) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Converte um BSON::Document para um ClusterTime.
doc
pode ser nulo, caso em que nulo é retornado.
97 98 99 100 101 102 103 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 97 def [](doc) se doc.nada? || doc.is_a?(ClusterTime) doc mais ClusterTime.Novo(doc) end end |
Detalhes do método de instância
#<(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
78 79 80 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 78 def <(Outro) (auto <=> Outro) == -1 end |
#<=(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
75 76 77 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 75 def <=(Outro) (auto <=> Outro) != 1 end |
#<=>(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Compara duas instâncias ClusterTime comparando seus registros de data/hora.
56 57 58 59 60 61 62 63 64 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 56 def <=>(Outro) se auto['clusterTime'] && Outro['clusterTime'] auto['clusterTime'] <=> Outro['clusterTime'] elsif !auto['clusterTime'] aumentar ArgumentError, "Não é possível comparar os horários do cluster quando o receptor não tem a chave clusterTime: #{inspecionar}" mais Outro['clusterTime'] aumentar ArgumentError, "Não é possível comparar horários de cluster quando outro está sem chave clusterTime: #{outro.inspecionar}" end end |
#==(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Compara duas instâncias ClusterTime comparando seus registros de data/hora.
83 84 85 86 87 88 89 90 91 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 83 def ==(Outro) se auto['clusterTime'] && Outro['clusterTime'] && auto['clusterTime'] == Outro['clusterTime'] então true mais false end end |
#>(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
72 73 74 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 72 def >(Outro) (auto <=> Outro) == 1 end |
#>=(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Os Rubis mais antigos não implementam outros operadores lógicos através de <=>. TODO revise se esses métodos são necessários quando jira.mongodb.org/browse/RUBY-{11622 é implementado.
69 70 71 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 69 def >=(Outro) (auto <=> Outro) != -1 end |
#adiantamento(outro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Avança a hora do cluster no receptor para a hora do cluster em other
.
other
pode ser nulo ou estar atrasado em relação ao tempo de agrupamento no receptor; nestes casos, o receptor é retornado sem modificações. Se o receptor for avançado, um novo objeto ClusterTime será retornado.
O valor de retorno é nil ou uma instância do ClusterTime.
45 46 47 48 49 50 51 52 53 |
# File 'build/ruby-driver-v2.19/lib/mongo/cluster_time.rb', linha 45 def avance(Outro) se auto['clusterTime'] && Outro['clusterTime'] && Outro['clusterTime'] > auto['clusterTime'] então ClusterTime[Outro] mais auto end end |