lib/mongo_mapper/plugins/keys.rb in mongo_mapper-0.9.0 vs lib/mongo_mapper/plugins/keys.rb in mongo_mapper-0.9.1

- old
+ new

@@ -6,11 +6,11 @@ module Keys extend ActiveSupport::Concern included do extend ActiveSupport::DescendantsTracker - key :_id, ObjectId + key :_id, ObjectId, :default => lambda { BSON::ObjectId.new } end module ClassMethods def inherited(descendant) descendant.instance_variable_set(:@keys, keys.dup) @@ -267,9 +267,14 @@ end def default_id_value(attrs={}) id_provided = !attrs.nil? && attrs.keys.map { |k| k.to_s }.detect { |k| k == 'id' || k == '_id' } if !id_provided && self.class.can_default_id? + unless keys['_id'].default_value + warn "[DEPRECATED] Custom IDs will no longer be automatically populated. If you definte your own :_id key, set a default:\n key :_id, String, :default => lambda { BSON::ObjectId.new }" + warn caller.grep(/test/).join("\n") + end + write_key :_id, BSON::ObjectId.new end end private