module Mongoid::Persistable::Maxable
Defines behavior for setting a field (or fields) to the larger of either it’s current value, or a given value.
Public Instance Methods
set_max(fields)
click to toggle source
Set the given field or fields to the larger of either it’s current value, or a given value.
@example Set a field to be no less than 100.
document.set_max(field: 100)
@param [ Hash<Symbol | String, Comparable> ] fields The fields to
set, with corresponding minimum values.
@return [ Document
] The document.
# File lib/mongoid/persistable/maxable.rb, line 22 def set_max(fields) prepare_atomic_operation do |ops| process_atomic_operations(fields) do |field, value| current_value = attributes[field] if value > current_value process_attribute field, value ops[atomic_attribute_name(field)] = value end end { "$max" => ops } unless ops.empty? end end
Also aliased as: clamp_lower_bound