lib/mongomapper/associations/belongs_to_proxy.rb in jnunemaker-mongomapper-0.2.0 vs lib/mongomapper/associations/belongs_to_proxy.rb in jnunemaker-mongomapper-0.3.0

- old
+ new

@@ -1,26 +1,22 @@ module MongoMapper module Associations class BelongsToProxy < Proxy - def replace(v) - ref_id = "#{@association.name}_id" - - if v - v.save if v.new? - @owner.__send__(:write_attribute, ref_id, v.id) - else - @owner.__send__(:write_attribute, ref_id, nil) + def replace(doc) + if doc + doc.save if doc.new? + id = doc.id end - + + @owner.send("#{@association.belongs_to_key_name}=", id) reload_target end protected - def find_target - ref = @owner.__send__(:read_attribute, "#{@association.name}_id") - if ref - @association.klass.find(ref) + def find_target + if ref = @owner.send(@association.belongs_to_key_name) + @association.klass.find(ref) + end end - end end end end