Versioning
Often, the need arises to maintain different versions of a document. The Versioning module has been removed from Mongoid 4.0 and put into a separate gem. So, to enable Versioning, we need to include the mongoid-versioning
gem in our Gemfile
.
We can turn on Versioning by simply including it in our class, as shown in the following code snippet:
class Contact include Mongoid::Document include Mongoid::Versioning ... end
Using Versioning is simple enough, we don't really have to do anything, as shown in the following code snippet:
irb> b = Book.new(title: "Legend of Ross") => #<Book _id: 528a920b47617552c7010000, version: 1, t(title): "Legend of Ross", price: nil, page_count: nil, published_date: nil, is_best_seller: false, awards: [], isbn: nil, status: nil, reserved: nil, reserved_on: nil, reserved_by: nil, reserved_count: nil, currency: nil, author_id: nil> irb> b.save => true irb> b.versions => [] irb> b.price = 99.99 => 99.99 irb>...