Módulo: Mongo::Lint Privado
- Definido en:
- lib/mongo/lint.rb
Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Resumen del método de clase colapsar
-
.assert_type(obj, cls) ⇒ objeto
privado
Genera LintError si
objno es de tipocls. - .¿Activado? ⇒ Booleano privado
- .validate_camel_case_read_preference(preferencia_de_lectura) ⇒ Objeto privado
- .validate_camel_case_read_preference_mode(mode) ⇒ Object privado
-
.validate_read_concern_option(read_concern) ⇒ Objeto
privado
Valida el hash proporcionado como un objeto de preocupación de lectura, según la especificación de preocupación de lectura/escritura(github.com/mongodb/specifications/blob/master/source/read-write-concern/read-write-concern.md#read-concern).
- .validate_underscore_read_preference(read_pref) ⇒ Objeto privado
- .validate_underscore_read_preference_mode(mode) ⇒ Object privado
Detalles del método de clase
.assert_type(obj, cls) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Genera LintError si obj no es de tipo cls.
10 11 12 13 14 15 |
# Archivo 'lib/mongo/lint.rb', línea 10 def assert_type(obj, cls) return a menos que ¿habilitado? a menos que obj.is_a?(cls) propagar Error::LintError, "Se esperaba que #{obj} fuera un #{cls}" end end |
.¿habilitado? ⇒ booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
100 101 102 |
# Archivo 'lib/mongo/lint.rb', línea 100 def ¿habilitado? ENV['MONGO_RUBY_DRIVER_LINT'] && %w(1 Sí true on).incluir?(ENV['MONGO_RUBY_DRIVER_LINT'].minúscula) end |
.validate_camel_case_read_preference(read_pref) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
38 39 40 41 42 43 44 45 |
# Archivo 'lib/mongo/lint.rb', línea 38 def validate_camel_case_read_preference(lectura_pref) return a menos que ¿habilitado? return si lectura_pref.nil? a menos que lectura_pref.is_a?(Picadillo) propagar Error::LintError, "La preferencia de lectura no es un hash: #{read_pref}" end Validar modo de preferencia de lectura de caso Camel(lectura_pref[moda] || lectura_pref['mode']) end |
.validate_camel_case_read_preference_mode(modo) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
48 49 50 51 52 53 54 55 |
# Archivo 'lib/mongo/lint.rb', línea 48 def Validar modo de preferencia de lectura de caso Camel(moda) return a menos que ¿habilitado? si moda a menos que %w(primario primariaPreferida secundario secondaryPreferred más cercano).incluir?(moda.to_s) propagar Error::LintError, "Modo de preferencia de lectura no válido: #{modo}" end end end |
.validate_read_concern_option(read_concern) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Valida el hash proporcionado como un objeto de preocupación de lectura, según la especificación de preocupación de lectura/escritura(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.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# Archivo 'lib/mongo/lint.rb', línea 76 def validate_read_concern_option(leer_preocupación) return a menos que ¿habilitado? return si leer_preocupación.nil? a menos que leer_preocupación.is_a?(Picadillo) propagar Error::LintError, "nivel de consistencia de lectura no es un hash: #{read_concern}" end return si leer_preocupación.¿vacío? claves = leer_preocupación.claves si leer_preocupación.is_a?(BSON::Documento) # Permite acceso indiferente allowed_keys = ['level'] else # No permite el acceso indiferente allowed_keys = [Nivel] end si claves != allowed_keys propagar Error::LintError, "El nivel de consistencia de lectura tiene claves inválidas: #{claves.investigar}" end nivel = leer_preocupación[Nivel] return si [:local, :available, mayoría, linealizable, snapshot].incluir?(nivel) propagar Error::LintError, "Elnivel de preocupación de lectura no es válido: el valor debe ser un símbolo: #{level.inspect}" end |
.valide_preferencia_de_lectura_subrayado(preferencia_lectura) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
18 19 20 21 22 23 24 25 |
# Archivo 'lib/mongo/lint.rb', línea 18 def validar_preferencia_de_lectura_de_subrayado(lectura_pref) return a menos que ¿habilitado? return si lectura_pref.nil? a menos que lectura_pref.is_a?(Picadillo) propagar Error::LintError, "La preferencia de lectura no es un hash: #{read_pref}" end validar_modo_de_preferencia_de_lectura_de_subrayado(lectura_pref[moda] || lectura_pref['mode']) end |
.validate_underscore_read_preference_mode(mode) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
28 29 30 31 32 33 34 35 |
# Archivo 'lib/mongo/lint.rb', línea 28 def validar_modo_de_preferencia_de_lectura_de_subrayado(moda) return a menos que ¿habilitado? si moda a menos que %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 end end |