Módulo: Mongo::Utils Privado

Definido en:
lib/mongo/utils.rb

Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.

Definido bajo Namespace

clase: LocalLogger

Resumen del método de clase colapsar

Detalles del método de clase

.camelize(sym) ⇒ objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.



69
70
71
# Archivo 'lib/mongo/utils.rb', línea 69

module_function def camelizar(sym)
  sym.to_s.gsub(/_(\w)/) { ::Regexp.último_partido(1).mayúsculas }
end

.excerpt_backtrace(exc, **opts) ⇒ Object

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Hash de opciones (**opts):

  • :bg_error_backtrace (true | false | nil | Integer)

    Experimental. Establézcalo en verdadero para registro rastreos completos de errores en hilos en segundo plano. Se debe configurar en false o nil para no registrar neumáticos. Proporcione un número entero positivo para registrar hasta esa cantidad de líneas de rastreo inverso.



47
48
49
50
51
52
53
54
55
56
# Archivo 'lib/mongo/utils.rb', línea 47

module_function def extracto_backtrace(exc, **opciones)
  caso líneas = opciones[:bg_error_backtrace]
  cuando entero
    ":\n#{exc.backtrace[0..líneas].join("\n")}"
  cuando false, nulo
    nulo
  else
    ":\n#{exc.backtrace.join("\n")}"
  end
end

.monotonic_timeFloat

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Esta función debe usarse si necesitas medir el tiempo.

Ejemplos:

Calcule el tiempo transcurrido.

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

Devuelve:

  • (Float)

    segundos según el reloj monotónico

Véase también:



94
95
96
# Archivo 'lib/mongo/utils.rb', línea 94

module_function def monotonic_time
  Proceso.clock_gettime(Proceso::CLOCK_MONOTONIC)
end

.shallow_camelize_keys(hash) ⇒ Objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte las claves del hash proporcionado en cadenas de texto y transforma las claves en estilo guion bajo a claves en estilo camel case.



65
66
67
# Archivo 'lib/mongo/utils.rb', línea 65

module_function def shallow_camelize_keys(hash)
  encriptada[hash.map { |k, v| [ camelizar(k), v ] }]
end

.shallow_symbolize_keys(hash) ⇒ objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Simboliza las claves en el hash proporcionado.



59
60
61
# Archivo 'lib/mongo/utils.rb', línea 59

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

.transform_server_api(server_api) ⇒ Objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

server_api debe tener claves de símbolo o ser un BSON::documento.



74
75
76
77
78
79
80
81
82
# Archivo 'lib/mongo/utils.rb', línea 74

module_function def transform_server_api(server_api)
  {}.tocar hacer |doc|
    si Versión = server_api[:versión]
      doc['apiVersion'] = Versión
    end
    doc['apiStrict'] = server_api[':estricto'] a menos que server_api[':estricto'].nil?
    doc['apiDeprecationErrors'] = server_api[Errores_depreciación] a menos que server_api[Errores_depreciación].nil?
  end
end

.warn_bg_exception(msg, exc, **opts) ⇒ objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Hash de opciones (**opts):

  • :bg_error_backtrace (true | false | nil | Integer)

    Experimental. Establézcalo en verdadero para registro rastreos completos de errores en hilos en segundo plano. Se debe configurar en false o nil para no registrar neumáticos. Proporcione un número entero positivo para registrar hasta esa cantidad de líneas de rastreo inverso.

  • :logger (Logger)

    Un registrador personalizado para usar.

  • log_prefix (string)

    Un prefijo de registro personalizado para usar al guardar los registros.



37
38
39
40
41
# Archivo 'lib/mongo/utils.rb', línea 37

module_function def warn_bg_exception(msg, exc, **opciones)
  bt_excerpt = extracto_backtrace(exc, **opciones)
  logger = LocalLogger.Nuevo(**opciones)
  logger.log_warn("#{msg}: #{exc.class}: #{exc}#{bt_excerpt}")
end