Sha256: a1ebea0be869484721184ac31c5ba874229136d79d71e643246176a99509c24a

Contents?: true

Size: 773 Bytes

Versions: 1

Compression:

Stored size: 773 Bytes

Contents

require 'incrementor'

module MongomapperId2
  # Your code goes here...
end

# Base on http://railstips.org/blog/archives/2010/02/21/mongomapper-07-plugins/
module MongoMapper
  module Plugins
    module AutoIncrement
      module ClassMethods
        def auto_increment!
          key :id2
          class_eval { before_create class_eval { :update_auto_increment }}
        end
      end
      module InstanceMethods
        private
        def update_auto_increment
          self.id2 = MongomapperId2::Incrementor[self.class.name].inc
        end
      end
    end
  end
end
 
module AutoIncrementPluginAddition
  def self.included(model)
    model.plugin MongoMapper::Plugins::AutoIncrement
  end
end
MongoMapper::Document.append_inclusions(AutoIncrementPluginAddition)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongomapper_id2-0.0.3 lib/mongomapper_id2.rb