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

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.

Devuelve:

  • (Booleano)


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

def ¿activado?
  ENV['MONGO_RUBY_DRIVER_LINT'] && %w(1  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.

Parámetros:

  • leer_preocupación (Hash)

    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*
      

Aumentos:



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