module MongoMapper::Plugins::EmbeddedCallbacks
Public Instance Methods
run_callbacks(callback, *args, &block)
click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins/embedded_callbacks.rb, line 63 def run_callbacks(callback, *args, &block) if self.class.embedded_callbacks_on? and embedded_associations.length > 0 embedded_docs = embedded_associations.map do |association| Array(get_proxy(association).send(:load_target)) end.flatten(1) block = embedded_docs.inject(block) do |chain, doc| if doc.class.respond_to?("_#{callback}_callbacks") lambda { doc.run_callbacks(callback, *args, &chain) } else chain end end end super callback, *args, &block end