lib/mongoid/versioning.rb in mongoid-2.4.1 vs lib/mongoid/versioning.rb in mongoid-2.4.2

- old
+ new

@@ -38,10 +38,19 @@ if previous && versioned_attributes_changed? versions.build( previous.versioned_attributes, :without_protection => true ).attributes.delete("_id") if version_max.present? && versions.length > version_max - versions.delete(versions.first) + deleted = versions.first + if deleted.paranoid? + versions.delete_one(deleted) + collection.update( + atomic_selector, + { "$pull" => { "versions" => { "version" => deleted.version }}} + ) + else + versions.delete(deleted) + end end self.version = (version || 1 ) + 1 end end