module Mongoid::Denormalization::Helpers
Public Class Methods
field_value(from_doc, field_terms)
click to toggle source
# File lib/mongoid/denormalization.rb, line 31 def self.field_value(from_doc, field_terms) value = from_doc field_terms.each do |field_term| value = value.send(field_term) end return value end
update_from_klass_changes(to_klass_infos, from_doc_id, field_value)
click to toggle source
# File lib/mongoid/denormalization.rb, line 19 def self.update_from_klass_changes(to_klass_infos, from_doc_id, field_value) to_klass_infos.each do |to_klass_info| selector = to_klass_info[:selector_proc].call(from_doc_id, field_value) to_klass_info[:klasses].each do |klass| query = klass.where(selector) while query.present? klass.collection.find(selector).update_many({"$set" => {to_klass_info[:updator].to_sym => field_value}}, multi: true, safe: true) end end end end