Classe: Mongo::Operação::Context Privado
- Herda:
-
Objeto
- Objeto
- Mongo::Operação::Contexto
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/operation/context.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.
Contexto para operações.
Contém vários objetos necessários para tomar decisões sobre a execução da operação em um único container e fornece métodos de máscara para os objetos contidos.
O contexto contém parâmetros para operações e, como tal, enquanto uma operação está sendo preparada, nada no contexto deve mudar. Quando o resultado da operação está sendo processado, os dados retornados pelo contexto podem mudar (por exemplo, porque uma transação foi cancelada), mas nesse ponto a operação não deve mais ler nada do contexto. Como os dados de contexto podem mudar durante a execução da operação, os objetos de contexto não devem ser reutilizados para várias operações.
Recolhimento do Resumo do atributo de instância
- #cliente ➤ Objeto Somente leitura privado
- #opções ➤ Objeto Somente leitura privado
- #sessão ➤ Objeto Somente leitura privado
Recolhimento do Resumo do método de instância
- #aborting_transaction? ➤ Booleano privado
- #any_retry_writes? ➤ Booleano privado
- #commit_transaction? ➤ Booleano privado
- #connection_global_id ➤ Objeto privado
- #descriptografar? ➤ Booleano privado
- #criptografar? ➤ Booleano privado
- #criptografador ➤ Objeto privado
- #in_transaction? ⇒ Boolean privado
-
#initialize(client: nil, session: nil, connection_global_id: nil, options: nil) ➤ Context
construtor
privado
Uma nova instância de Contexto.
- #legacy_retry_writes? ➤ Booleano privado
- #mod_retry_writes? ➤ Booleano privado
-
#tentar novamente? ➤ Booleano
privado
Se a operação é uma nova tentativa (true) ou uma tentativa inicial (false).
- #server_api ➤ Objeto privado
- #initial_transaction? ➤ Booleano privado
-
#com(**opts) ➤ Objeto
privado
Retorna um novo contexto com os parâmetros alterados de acordo com os argumentos fornecidos.
Detalhes do construtor
#initialize(cliente: nil, sessão: nil, connection_global_id: nil, opções: nil) ➤ Context
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 Contexto.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 38 def inicializar(cliente: nada, sessão: nada, connection_global_id: nada, opções: nada) se se Cliente aumentar ArgumentError, 'O cliente e as opções não podem ser especificados' end se session aumentar ArgumentError, ' Asessão e as opções não podem ser especificadas' end end se connection_global_id && session&.pinned_connection_global_id aumentar ArgumentError, 'Tentando fixar contexto em uma conexão quando a sessão já está fixada em uma conexão.' end @cliente = Cliente @session = session @connection_global_id = connection_global_id @opções = end |
Detalhes do atributo da instância
# objeto do cliente(somente leitura)
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.
59 60 61 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 59 def Cliente @cliente end |
#opções Objeto (somente leitura)
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.
61 62 63 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 61 def @opções end |
#session ➤ Object (somente leitura)
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.
60 61 62 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 60 def session @session end |
Detalhes do método de instância
#aborting_transaction? ➤ Booleano
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.
79 80 81 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 79 def aborting_transaction? in_transaction? && session.aborting_transaction? end |
#any_retry_writes? ➤ Booleano
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.
91 92 93 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 91 def any_retry_writes? mod_retry_writes? || legacy_retry_writes? end |
#commit_transaction? ➤ Booleano
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/operation/context.rb', linha 75 def commit_transaction? in_transaction? && session.commit_transaction? end |
#connection_global_id ➤ 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.
63 64 65 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 63 def connection_global_id @connection_global_id || session&.pinned_connection_global_id end |
#descriptografar? ➤ Booleano
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.
125 126 127 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 125 def descriptografar? !!Cliente&.criptografador end |
#criptografar? ➤ Booleano
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.
121 122 123 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 121 def criptografar? Cliente&.criptografador&.criptografar? || false end |
#criptografador ➤ 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.
129 130 131 132 133 134 135 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 129 def criptografador se Cliente&.criptografador Cliente.criptografador mais aumentar Erro::InternalDriverError, ' Ocriptografador só deve ser acessado quando a criptografia deve ser executada' end end |
#in_transaction? ➤ Booleano
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.
67 68 69 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 67 def in_transaction? session&.in_transaction? || false end |
#legacy_retry_writes? ➤ Booleano
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.
87 88 89 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 87 def legacy_retry_writes? Cliente && !Cliente.[:retry_writes] && Cliente.max_write_retry > 0 end |
#mod_retry_writes? ➤ Booleano
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.
83 84 85 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 83 def mod_retry_writes? Cliente && Cliente.[:retry_writes] end |
#tentar novamente? ➤ Booleano
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.
Se a operação é uma nova tentativa (true) ou uma tentativa inicial (false).
104 105 106 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 104 def tentar novamente? !!@is_retry end |
#server_api ➤ 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.
95 96 97 98 99 100 101 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 95 def server_api se Cliente Cliente.[:server_api] elsif [:server_api] end end |
#initial_transaction? ➤ Booleano
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.
71 72 73 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 71 def initial_transaction? session&.initial_transaction? || false end |
#com(**opts) ➤ 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.
Retorna um novo contexto com os parâmetros alterados de acordo com os argumentos fornecidos.
113 114 115 116 117 118 119 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/context.rb', linha 113 def com(**opciona) dup.toque fazer |copy| opciona.cada fazer |k, v| copy.instance_variable_set("@#{k}", v) end end end |