Classe: Mongo::ClusterTime Private
- Herda:
-
BSON::Document
- Objeto
- BSON::Document
- Mongo::ClusterTime
- Inclui:
- Comparável
- Definido em:
- 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
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.
-
#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.
31 32 33 34 35 36 37 |
# Arquivo 'lib/mongo/cluster_time.rb', linha 31 def inicializar(Elementos = nada) super Método a menos que Lint.habilitado? && !auto['clusterTime'] aumentar ArgumentError, 'Criando um tempo de cluster sem o campo clusterTime' 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.
81 82 83 84 85 86 87 |
# Arquivo 'lib/mongo/cluster_time.rb', linha 81 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.
Compara duas instâncias ClusterTime comparando seus registros de data/hora.
56 57 58 59 60 61 62 63 64 65 |
# Arquivo '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.
68 69 70 71 72 73 74 75 |
# Arquivo 'lib/mongo/cluster_time.rb', linha 68 def ==(Outro) se auto['clusterTime'] && Outro['clusterTime'] && auto['clusterTime'] == Outro['clusterTime'] true mais false end 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.
46 47 48 49 50 51 52 53 |
# Arquivo 'lib/mongo/cluster_time.rb', linha 46 def avance(Outro) se auto['clusterTime'] && Outro['clusterTime'] && Outro['clusterTime'] > auto['clusterTime'] ClusterTime[Outro] mais auto end end |