module MongoAutoIncrement::Mongoid::Document

Constants

ID_FIELD

Public Class Methods

included(base) click to toggle source
# File lib/mongo_auto_increment.rb, line 65
def self.included(base)
  base.class_eval do
    # define Integer for id field
    Mongoid.register_model(self)
    field :_id, type: Integer, overwrite: true, default: -> {Identity.generate_id(self)}
  end
end

Public Instance Methods

as_document() click to toggle source
# File lib/mongo_auto_increment.rb, line 80
def as_document
  result = super_as_document
  if result[ID_FIELD].blank?
    result[ID_FIELD] = Identity.generate_id(self)
  end
  result
end
Also aliased as: super_as_document
identify() click to toggle source

hack id nil when Document.new

# File lib/mongo_auto_increment.rb, line 74
def identify
  Identity.new(self).create
  nil
end
super_as_document()
Alias for: as_document