Módulo: Mongoid::Persistable::Maxable

Estendido por:
ActiveSupport::Concern
Incluído em:
Mongoid::Persistable
Definido em:
lib/mongoid/persistable/maxable.rb

Visão geral

Define o comportamento para definir um campo (ou campos) para o maior valor atual ou de um determinado valor.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#set_max(fields) ➤ Document também conhecido como: grampeador_lower_bound

Defina o campo ou campos fornecidos como o maior valor entre o valor atual ou o valor fornecido.

Exemplos:

Defina um campo para não ser inferior a 100.

document.set_max(field: 100)

Parâmetros:

  • Campos (Hash<Símbolo | string, Comparable>)

    Os campos a definir, com valores mínimos correspondentes.

Retorna:



22
23
24
25
26
27
28
29
30
31
32
33
# Arquivo 'lib/mongoid/persistable/maxable.rb', linha 22

def set_max(Campos)
  prepare_atomic_operation fazer |ops|
    process_atomic_operations(Campos) fazer |Campo, valor|
      current_value = attributes[Campo]
      se valor > current_value
        process_attribute Campo, valor
        ops[atomic_attribute_name(Campo)] = valor
      end
    end
    { "$max" => ops } a menos que ops.vazio?
  end
end