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.
Colapso delresumen del método de clase
-
.assert_type(obj, cls) ⇒ Objeto
privada
Genera LintError si
objno es del tipocls. - .¿Activado? ⇒ Booleano privada
- .validate_camel_case_read_preference(preferencia_de_lectura) ⇒ Objeto privada
- .validate_camel_case_read_preference_mode(modo) ⇒ Objeto privada
-
.validate_read_concern_option(preocupación_de_lectura) ⇒ Objeto
privada
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(preferencia_de_lectura) ⇒ Objeto privada
- .validate_underscore_read_preference_mode(mode) ⇒ Object privada
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 del tipo cls.
10 11 12 13 14 15 |
# Archivo 'lib/mongo/lint.rb', línea 10 def tipo_de_afirmación(obj, cls) return a no ser que ¿activado? a no ser que obj.is_a?(cls) propagar Error::LintError, "Seesperaba 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 ¿activado? ENV['MONGO_RUBY_DRIVER_LINT'] && %w(1 sí true on).¿incluir?(ENV['MONGO_RUBY_DRIVER_LINT'].mayúsculas y minúsculas) end |
.validate_camel_case_read_preference(preferencia_de_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.
38 39 40 41 42 43 44 45 |
# Archivo 'lib/mongo/lint.rb', línea 38 def validar_preferencia_de_lectura_de_caso_camel(lectura_pref) return a no ser que ¿activado? return Si lectura_pref.nil? a no ser 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[:modo] || 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 no ser que ¿activado? Si moda a no ser que %w(primario primariaPreferida secundario secondaryPreferred más cercano).¿incluir?(moda.a_s) propagar Error::LintError, "Modode preferencia de lectura no válido: #{mode }" end end end |
.validate_read_concern_option(preocupación_de_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.
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 comodidad.
El documento de interés leído, tal como se envía 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 provocar un comportamiento incorrecto si lo hiciera), 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 no ser que ¿activado? return Si leer_preocupación.nil? a no ser 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 claves permitidas = ['level'] else # No permite el acceso indiferente claves permitidas = [:nivel] end Si claves != claves permitidas propagar Error::LintError, "Lapreocupación de lectura tiene claves no válidas: #{keys.inspect}" end nivel = leer_preocupación[:nivel] return Si [:local, :disponible, :mayoría, :linealizable, :instantánea].¿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 |
.validate_underscore_read_preference(preferencia_de_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 no ser que ¿activado? return Si lectura_pref.nil? a no ser 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[:modo] || 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 no ser que ¿activado? Si moda a no ser que %w(primario primary_preferred secundario secundario_preferido más cercano).¿incluir?(moda.a_s) propagar Error::LintError, "Modode preferencia de lectura no válido: #{mode }" end end end |