Módulo: Mongo::Lint Privado

Definido en:
lib/mongo/lint.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.

Resumen del método de clase colapsar

Detalles del método de clase

.assert_type(obj, cls) ⇒ 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.

Genera LintError si obj no es de tipo cls.

Aumenta:



7
8
9
10
11
12
# Archivo 'lib/mongo/lint.rb', línea 7

def assert_type(obj, cls)
  return a menos que ¿habilitado?
  return si obj.is_a?(cls)

  propagar Error::LintError, "Se esperaba que #{obj} fuera un #{cls}"
end

.¿habilitado?booleano

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.

Devuelve:

  • (booleano)


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

def ¿habilitado?
  ENV['MONGO_RUBY_DRIVER_LINT'] && %w[1  true on].incluir?(ENV['MONGO_RUBY_DRIVER_LINT'].minúscula)
end

.validate_camel_case_read_preference(read_pref) ⇒ 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.

Aumenta:



34
35
36
37
38
39
40
# Archivo 'lib/mongo/lint.rb', línea 34

def validate_camel_case_read_preference(read_pref)
  return a menos que ¿habilitado?
  return si read_pref.nil?
  propagar Error::LintError, "La preferencia de lectura no es un hash: #{read_pref}" a menos que read_pref.is_a?(encriptada)

  validate_camel_case_read_preference_mode(read_pref[moda] || read_pref['mode'])
end

.validate_camel_case_read_preference_mode(mode) ⇒ 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.

Aumenta:



43
44
45
46
47
48
49
50
# Archivo 'lib/mongo/lint.rb', línea 43

def validate_camel_case_read_preference_mode(moda)
  return a menos que ¿habilitado?

  return a menos que moda
  return si %w[primario preferido primario secundario secondaryPreferred más cercano].incluir?(moda.to_s)

  propagar Error::LintError, "Modo de preferencia de lectura no válido: #{modo}"
end

.validate_read_concern_option(read_concern) ⇒ 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.

Valida el hash proporcionado como un objeto de nivel de consistencia de lectura, de acuerdo con la especificación de nivel de consistencia de lectura/nivel de confirmación de escritura (write concern) (https://github.com/mongodb/specifications/blob/master/source/read-write-concern/read-write-concern.md#read-concern).

Este método también acepta nil como entrada para mayor conveniencia.

El documento de "nivel de consistencia de lectura" tal como se envió al servidor puede incluir campos adicionales, por ejemplo, "afterClusterTime". Estos campos son generados internamente por el controlador y no pueden ser especificados por el usuario (y podrían potencialmente conducir a un comportamiento incorrecto si fueran especificados por el usuario), por lo que este método los prohíbe.

Parámetros:

  • read_concern (encriptada)

    El hash de opciones de nivel de consistencia de lectura, con las siguientes claves opcionales:

    • :level -- el nivel de preferencia de lectura como símbolo; los valores válidos son :local, :majority y :snapshot

Aumenta:



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Archivo 'lib/mongo/lint.rb', línea 71

def validate_read_concern_option(read_concern)
  return a menos que ¿habilitado?
  return si read_concern.nil?
  propagar Error::LintError, "nivel de consistencia de lectura no es un hash: #{read_concern}" a menos que read_concern.is_a?(encriptada)
  return si read_concern.¿vacío?

  claves = read_concern.claves
  allowed_keys = si read_concern.is_a?(BSON::Documento)
                   # Permite acceso indiferente
                   [ 'level' ]
                 else
                   # No permite el acceso indiferente
                   [ Nivel ]
                 end
  propagar Error::LintError, "El nivel de consistencia de lectura tiene claves inválidas: #{claves.investigar}" si claves != allowed_keys

  Nivel = read_concern[Nivel]
  return si %i[local available mayoría linealizable snapshot].incluir?(Nivel)

  propagar Error::LintError, "El nivel de consistencia de lectura no es válido: el valor debe ser un símbolo: #{nivel.inspeccionar}"
end

.valide_preferencia_de_lectura_subrayado(preferencia_lectura) ⇒ 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.

Aumenta:



15
16
17
18
19
20
21
# Archivo 'lib/mongo/lint.rb', línea 15

def validate_underscore_read_preference(read_pref)
  return a menos que ¿habilitado?
  return si read_pref.nil?
  propagar Error::LintError, "La preferencia de lectura no es un hash: #{read_pref}" a menos que read_pref.is_a?(encriptada)

  validate_underscore_read_preference_mode(read_pref[moda] || read_pref['mode'])
end

.validate_underscore_read_preference_mode(mode) ⇒ 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.

Aumenta:



24
25
26
27
28
29
30
31
# Archivo 'lib/mongo/lint.rb', línea 24

def validate_underscore_read_preference_mode(moda)
  return a menos que ¿habilitado?

  return a menos que moda
  return si %w[primario primary_preferred secundario secundario_preferido más cercano].incluir?(moda.to_s)

  propagar Error::LintError, "Modo de preferencia de lectura no válido: #{modo}"
end