Class: MongoMapper::Plugins::Associations::BelongsToPolymorphicProxy

Inherits:
Proxy
  • Object
show all
Defined in:
lib/mongo_mapper/plugins/associations/belongs_to_polymorphic_proxy.rb

Instance Attribute Summary

Attributes inherited from Proxy

#association, #owner, #target

Instance Method Summary collapse

Methods inherited from Proxy

#===, #blank?, #initialize, #inspect, #loaded, #loaded?, #nil?, #present?, #proxy_respond_to?, #reload, #reset, #respond_to?, #send

Constructor Details

This class inherits a constructor from MongoMapper::Plugins::Associations::Proxy

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class MongoMapper::Plugins::Associations::Proxy

Instance Method Details

#replace(doc) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/mongo_mapper/plugins/associations/belongs_to_polymorphic_proxy.rb', line 8

def replace(doc)
  if doc
    doc.save if doc.new?
    id, type = doc.id, doc.class.name
  end

  owner[association.foreign_key] = id
  owner[association.type_key_name] = type
  reset
end