Módulo: Mongo::Utils Private

Definido em:
build/ruby-driver-v2.19/lib/mongo/utils.rb

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Definido sob namespace

Classes: LocalLogger

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.camelize(sym) ➤ 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/utils.rb', linha 72

module_function def camelize(sym)
  sym.to_s.gsub(/_(\w)/) { $1.upcase }
end

.trecho_backtrace(exc, **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.

Hash de opções (**opts):

  • :bg_error_backtrace (verdadeiro | falso | nulo | inteiro)

    Experimental. Defina como true para registrar backtrace completos para erros em threads em background. Defina como falso ou nulo para não registrar backtrace. Forneça um número inteiro positivo para registrar até esse número de linhas de backtrace.



50
51
52
53
54
55
56
57
58
59
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 50

module_function def trecho_backtrace(exc, **opciona)
  caso linhas = opciona[:bg_error_backtrace]
  quando Inteiro
    ":\n#{exc.backtrace[0..linhas].join("\n")}"
  quando false, nada
    nada
  mais
    ":\n#{exc.backtrace.join("\n")}"
  end
end

.monotonic_timeFloat

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.

Esta função deve ser usada se você precisar medir o tempo.

Exemplos:

Calcular o tempo decorrido.

starting = Utils.monotonic_time
# do something time consuming
ending = Utils.monotonic_time
puts "It took #{(ending - starting).to_i} seconds"

Retorna:

  • (Flutuante)

    segundos de acordo com o relógio monotônico

Veja também:



101
102
103
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 101

module_function def monotonic_time
  Processo.clock_gettime(Processo::CLIOCK_MONOTONIC)
end

.raso_camelize_keys(hash) ➤ 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.

Define as chaves no hash fornecido e converte as chaves de estilo sublinhado em chaves de estilo camel case.



68
69
70
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 68

module_function def rasa_camelize_keys(hash)
  Hash[hash.map { |k, v| [camelize(k), v] }]
end

.raso_symbolize_keys(hash) ➤ 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.

Simboliza as chaves no hash fornecido.



62
63
64
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 62

module_function def raso_symbolize_keys(hash)
  Hash[hash.map { |k, v| [k.to_sym, v] }]
end

.transform_server_api(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.

Observação:

server_api deve ter chaves de símbolo ou ser um BSON::Document.



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 77

module_function def transform_server_api(server_api)
  {}.toque fazer |doc|
    se Versão = server_api[:version]
      doc['apiVersion'] = Versão
    end
    a menos que server_api[:strict].nada?
      doc['apiStrict'] = server_api[:strict]
    end
    a menos que server_api[:deprecation_errors].nada?
      doc['apiDeprecationErrors'] = server_api[:deprecation_errors]
    end
  end
end

.write_bg_exException(msg, exc, **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.

Hash de opções (**opts):

  • :bg_error_backtrace (verdadeiro | falso | nulo | inteiro)

    Experimental. Defina como true para registrar backtrace completos para erros em threads em background. Defina como falso ou nulo para não registrar backtrace. Forneça um número inteiro positivo para registrar até esse número de linhas de backtrace.

  • :logger (Registrador)

    Um registrador personalizado para usar.

  • :log_prefix (string)

    Um prefixo de registro personalizado para usar ao fazer registro.



40
41
42
43
44
# File 'build/ruby-driver-v2.19/lib/mongo/utils.rb', linha 40

module_function def write_bg_exceção(mensagem, exc, **opciona)
  bt_excerpt = trecho_backtrace(exc, **opciona)
  logger = LocalLogger.Novo(**opciona)
  logger.log_service("#{msg}: #{exc.class}: #{exc}#{bt_excerpt}")
end