module ActiveMongoid::Associations::RecordRelation::AutoSave::ClassMethods
Public Instance Methods
autosave_record_id(metadata)
click to toggle source
# File lib/active_mongoid/associations/record_relation/auto_save.rb, line 26 def autosave_record_id(metadata) if metadata.stores_foreign_key? save_method = :"autosave_record_id_for_#{metadata.name}" define_method(save_method) do if relation = instance_variable_get("@#{metadata.name}") self.send(metadata.foreign_key_setter, relation.send(metadata.primary_key)) end end before_save save_method end end
autosave_records(metadata)
click to toggle source
# File lib/active_mongoid/associations/record_relation/auto_save.rb, line 13 def autosave_records(metadata) if metadata.autosave? save_method = :"autosave_records_for_#{metadata.name}" define_method(save_method) do if relation = instance_variable_get("@#{metadata.name}") Array(relation).each { |d| d.save if record_changed_for_autosave?(d) } end end after_save save_method end autosave_record_id(metadata) end