Módulo: Mongo::Lint Private

Definido em:
lib/mongo/lint.rb

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.assert_type(obj, cls) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Gera LintError se obj não for do tipo cls.

Aumenta:



7
8
9
10
11
12
# Arquivo 'lib/mongo/lint.rb', linha 7

def assert_type(obj, cls)
  Método a menos que habilitado?
  Método se obj.is_a?(cls)

  aumentar Erro::LintError, "Esperava -se que#{obj} fosse um #{cls}"
end

.habilitado?Booleano

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna:

  • (Booleano)


94
95
96
# Arquivo 'lib/mongo/lint.rb', linha 94

def habilitado?
  ENV['MONGO_RUBY_DRIVER_LINT'] && %w[1 sim true em].incluir?(ENV['MONGO_RUBY_DRIVER_LINT'].downcase)
end

.validate_camel_case_read_preference(read_pref) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Aumenta:



34
35
36
37
38
39
40
# Arquivo 'lib/mongo/lint.rb', linha 34

def validate_camel_case_read_preference(read_pref)
  Método a menos que habilitado?
  Método se read_pref.nada?
  aumentar Erro::LintError, "Aread preference não é um hash: #{read_pref}" a menos que read_pref.is_a?(Hash)

  validate_camel_case_read_preference_mode(read_pref[:mode] || read_pref['mode'])
end

.validate_camel_case_read_preference_mode(modo) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Aumenta:



43
44
45
46
47
48
49
50
# Arquivo 'lib/mongo/lint.rb', linha 43

def validate_camel_case_read_preference_mode(Modo)
  Método a menos que habilitado?

  Método a menos que Modo
  Método se %w[Principal primaryPreferred secundário secondaryPreferred mais próximo].incluir?(Modo.to_s)

  aumentar Erro::LintError, "modo de preferência de leitura inválido : #{modo}"
end

.validate_read_concern_option(read_concern) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Valida o hash fornecido como um objeto de preocupação de leitura , de acordo com a especificação de read/ preocupação de gravação (https://github.com/mongodb/specifications/blob/master/source/read-write-concern/read-write-concern.md# read- concern).

Este método também aceita nulo como entrada por conveniência.

O documento de preocupação de leitura conforme enviado ao servidor pode incluir campos adicionais, por exemplo afterClusterTime. Esses campos são gerados internamente pelo driver e não podem ser especificados pelo usuário (e potencialmente levariam a comportamento incorreto se fossem especificados pelo usuário), portanto, este método os proíbe.

Parâmetros:

  • read_concern (Hash)

    O hash de opções de preocupação de leitura , com as seguintes chaves opcionais:

    • :level -- o nível de preferência de leitura como um símbolo; valores válidos são:local,:majority e:snapshot

Aumenta:



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Arquivo 'lib/mongo/lint.rb', linha 71

def validate_read_concern_option(read_concern)
  Método a menos que habilitado?
  Método se read_concern.nada?
  aumentar Erro::LintError, "Aread concern não é um hash: #{read_concern}" a menos que read_concern.is_a?(Hash)
  Método se read_concern.vazio?

  keys = read_concern.keys
  allow_keys = se read_concern.is_a?(BSON::Documento)
                   # Permite acesso indiferente
                   [ 'level' ]
                 mais
                   # Não permite acesso indiferente
                   [ :level ]
                 end
  aumentar Erro::LintError, "A read concern tem chaves inválidas: #{chaves.inspect}" se keys != allow_keys

  level = read_concern[:level]
  Método se %i[Local available Maioria linearizável snapshot].incluir?(level)

  aumentar Erro::LintError, "O nível de preocupação de leitura é inválido: o valor deve ser um símbolo: #{nível.inspecionar}"
end

.validate_subscore_read_preference(read_pref) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Aumenta:



15
16
17
18
19
20
21
# Arquivo 'lib/mongo/lint.rb', linha 15

def validate_subscore_read_preference(read_pref)
  Método a menos que habilitado?
  Método se read_pref.nada?
  aumentar Erro::LintError, "Aread preference não é um hash: #{read_pref}" a menos que read_pref.is_a?(Hash)

  validate_subscore_read_preference_mode(read_pref[:mode] || read_pref['mode'])
end

.validate_underscore_read_preference_mode(mode) ⇒ Object

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Aumenta:



24
25
26
27
28
29
30
31
# Arquivo 'lib/mongo/lint.rb', linha 24

def validate_subscore_read_preference_mode(Modo)
  Método a menos que habilitado?

  Método a menos que Modo
  Método se %w[Principal primary_preferred secundário secondary_preferred mais próximo].incluir?(Modo.to_s)

  aumentar Erro::LintError, "modo de preferência de leitura inválido : #{modo}"
end