class Mongoid::Atomic::Modifiers
Public Instance Methods
add_each_operation(mods, field, value)
click to toggle source
# File lib/patches/push_each.rb, line 41 def add_each_operation(mods, field, value) value = Array.wrap(value) if mods.has_key?(field) value.each do |val| mods[field]["$each"].push(val) end else mods[field] = { "$each" => value } end end
conflicting_pushes()
click to toggle source
# File lib/patches/push_each.rb, line 52 def conflicting_pushes conflicts["$push"] ||= {} end
push(modifications)
click to toggle source
# File lib/patches/push_each.rb, line 33 def push(modifications) modifications.each_pair do |field, value| push_fields[field] = field mods = push_conflict?(field) ? conflicting_pushes : pushes add_each_operation(mods, field, value) end end
pushes()
click to toggle source
# File lib/patches/push_each.rb, line 56 def pushes self["$push"] ||= {} end