Classe: Mongo::WriteConcern::Base

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/write_concern/base.rb

Visão geral

Define o comportamento comum para write concerns.

Desde:

  • 2.7.0

Subclasses conhecidas diretas

Reconhecido, não reconhecido

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(opções) ➤ Base

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.

Instancie uma nova write concern de acordo com as opções.

Exemplos:

Instancie um novo modo de preocupação de gravação .

Mongo::WriteConcern::Acknowledged.new(:w => 1)

Parâmetros:

  • opções (Hash)

    As opções para instanciar.

Hash de opções (opções):

  • :w (Inteiro, string)

    O número de servidores ou o modo personalizado para confirmar.

  • :j (verdadeiro, falso)

    Se deve reconhecer uma escrita no diário.

  • :fsync (verdadeiro, falso)

    A gravação deve ser sincronizada com o disco.

  • :wtimeout (Inteiro)

    O número de milissegundos para aguardar a confirmação antes de gerar um erro.

Desde:

  • 2.0.0



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'build/ruby-driver-v2.19/lib/mongo/write_concern/base.rb', linha 48

def inicializar(opções)
  opções = Opções::Mapeador.transform_keys_to_symbols(opções)
  opções = Opções::Mapeador.transform_values_to_strings(opções).congelar

  se opções[:w]
    se opções[:w] == 0 && opções[:j]
      aumentar Erro::InvalidWriteConcern, "Opções de write concern inválidas: :j não pode ser verdadeira quando :w é 0: #{opções.inspecionar}"
    elsif opções[:w] == 0 && opções[:fsync]
      aumentar Erro::InvalidWriteConcern, "Opções de write concern inválidas: :fsync não pode ser verdadeira quando :w é 0: #{opções.inspecionar}"
    elsif opções[:w].is_a?(Inteiro) && opções[:w] < 0
      aumentar Erro::InvalidWriteConcern, "Opções de preocupação de gravação inválidas: :w não pode ser negativo (#{options[:w]}): #{options.inspect}"
    end
  end

  se opções[:journal]
    aumentar Erro::InvalidWriteConcern, "Opções de write concern inválidas: use :j for journal: #{options.inspect}"
  end

  @opções = opções
end

Detalhes do atributo da instância

#opçõesHash (somente leitura)

Retorna as opções de write concern.

Retorna:

  • (Hash)

    As opções de preocupação de gravação .

Desde:

  • 2.7.0



27
28
29
# File 'build/ruby-driver-v2.19/lib/mongo/write_concern/base.rb', linha 27

def opções
  @opções
end