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

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.

Devuelve:

  • (booleano)


100
101
102
# Archivo 'lib/mongo/lint.rb', línea 100

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 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.

Parámetros:

  • leer_preocupación (encriptada)

    El hash de opciones de lectura se refiere a, con las siguientes claves opcionales:

    • :level: el nivel de preferencia de lectura como símbolo; valores válidos

      are *:local*, *:majority*, and *:snapshot*
      

Aumenta:



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