Módulo: Mongoid::Persistable::Maxable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/maxable.rb

Overview

Define el comportamiento para establecer un campo (o campos) al mayor valor entre el actual o uno dado.

Resumen del método de instancia colapsar

Detalles del método de instancia

#set_max(campos) ⇒ Documento También conocido como: clamp_lower_bound

Establezca el campo o campos dados al valor más alto, ya sea su valor actual u otro valor otorgado.

Ejemplos:

Establezca que un campo no sea inferior a 100.

document.set_max(field: 100)

Parámetros:

  • campos (Hash<Symbol | String, Comparable>)

    Los campos a configurar, con los valores mínimos correspondientes.

Devuelve:



22
23
24
25
26
27
28
29
30
31
32
33
# Archivo 'lib/mongoid/persistable/maxable.rb', línea 22

def set_max(campos)
  preparar_operación_atómica hacer |ops|
    proceso_operaciones_atómicas(campos) hacer |Campo, Valor|
      current_value = atributos[Campo]
      si Valor > current_value
        process_attribute Campo, Valor
        ops[atomic_attribute_name(Campo)] = Valor
      end
    end
    { "$máx" => ops } a menos que ops.¿vacío?
  end
end