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
-
.assert_type(obj, cls) ⇒ objeto
privado
Genera LintError si
objno es de tipocls. - .¿Activado? ⇒ Booleano privado
- .validate_camel_case_read_preference(read_pref) ⇒ Object 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 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).
- .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 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.
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.
94 95 96 |
# Archivo 'lib/mongo/lint.rb', línea 94 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 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.
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.
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.
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.
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.
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 |