Módulo: Mongoid::Persistable::Maxable

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

Overview

Define el comportamiento para establecer un campo (o campos) en el mayor valor entre su valor actual o un valor determinado.

Colapso del resumen del método de instancia

Detalles del método de instancia

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

Establezca el campo o los campos dados en el mayor valor entre su valor actual o un valor dado.

Ejemplos:

Establezca un campo para que no sea menor que 100.

document.set_max(field: 100)

Parámetros:

  • campos (Hash<Símbolo | Cadena, 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|
    operaciones atómicas del proceso(campos) hacer |Campo, valor|
      current_value = atributos[Campo]
      Si valor > current_value
        atributo_de_proceso Campo, valor
        ops[nombre_del_atributo_atómico(Campo)] = valor
      end
    end
    { "$máx" => ops } a no ser que ops.¿vacío?
  end
end