module Mongoid::AutoIncrement
Constants
- VERSION
Public Instance Methods
auto_increment!()
click to toggle source
# File lib/mongoid/auto_increment.rb, line 46 def auto_increment! client = self.class.mongo_client self.class.auto_increment_classes.each do |klass| klass.auto_incremented_fields.each do |name| unless self[name] result = client.command({ findAndModify: self.class.auto_increment_collection, query: {_id: "#{klass.auto_increment_class_prefix}_#{name}"}, update: {"$inc" => {klass.auto_increment_value_field => 1}}, upsert: true, new: true, }) self[name] = result.first["value"][klass.auto_increment_value_field] end end end end
dup()
click to toggle source
Calls superclass method
# File lib/mongoid/auto_increment.rb, line 64 def dup copy = super self.class.auto_increment_classes.each do |klass| klass.auto_incremented_fields.each do |name| copy[name] = nil end end copy end