# File lib/mongoid/persistence/atomic/bit.rb, line 19 def persist prepare do current = document[field] return nil unless current document[field] = value.inject(current) do |result, (bit, val)| result = result & val if bit.to_s == "and" result = result | val if bit.to_s == "or" result end document[field].tap do collection.update(document.atomic_selector, operation("$bit"), options) document.remove_change(field) end end end