Sha256: 8c0adf268c6108d0649483bebe85fa1eaaa993622817cd1c08b2c9f4f8918502
Contents?: true
Size: 674 Bytes
Versions: 2
Compression:
Stored size: 674 Bytes
Contents
module MongoMapper module Associations class HasManyProxy < ArrayProxy def replace(v) if load_target @target.map(&:destroy) end v.each do |o| @owner.save if @owner.new? o.__send__(:write_attribute, self.foreign_key, @owner.id) o.save o end reload_target end protected def find_target @association.klass.find(:all, {:conditions => {self.foreign_key => @owner.id}}) end def foreign_key @association.options[:foreign_key] || @owner.class.name.underscore.gsub("/", "_") + "_id" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fcoury-mongomapper-0.2.0 | lib/mongomapper/associations/has_many_proxy.rb |
fcoury-mongomapper-0.4.0 | lib/mongomapper/associations/has_many_proxy.rb |