Module: MongoMapper::Plugins::Associations::InstanceMethods
- Defined in:
- lib/mongo_mapper/plugins/associations.rb
Instance Method Summary collapse
- #associations ⇒ Object
- #build_proxy(association) ⇒ Object
- #embedded_associations ⇒ Object
- #get_proxy(association) ⇒ Object
- #save_to_collection(options = {}) ⇒ Object
Instance Method Details
#associations ⇒ Object
60 61 62 |
# File 'lib/mongo_mapper/plugins/associations.rb', line 60 def associations self.class.associations end |
#build_proxy(association) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/mongo_mapper/plugins/associations.rb', line 68 def build_proxy(association) proxy = association.proxy_class.new(self, association) self.instance_variable_set(association.ivar, proxy) proxy end |
#embedded_associations ⇒ Object
64 65 66 |
# File 'lib/mongo_mapper/plugins/associations.rb', line 64 def associations.values.select { |assoc| assoc. } end |
#get_proxy(association) ⇒ Object
75 76 77 78 79 80 |
# File 'lib/mongo_mapper/plugins/associations.rb', line 75 def get_proxy(association) unless proxy = self.instance_variable_get(association.ivar) proxy = build_proxy(association) end proxy end |
#save_to_collection(options = {}) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/mongo_mapper/plugins/associations.rb', line 82 def save_to_collection(={}) super if defined?(super) associations.each do |association_name, association| proxy = get_proxy(association) proxy.save_to_collection() if proxy.proxy_respond_to?(:save_to_collection) && association.autosave? end end |