Sha256: d6bd5e470d822ea597a3f75e8171991d5de7c27b4a442dfdf241133f8390ff0a
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module Mongoid module History module Attributes class Destroy < ::Mongoid::History::Attributes::Base def attributes @attributes = {} trackable.attributes.each { |k, v| @attributes[k] = [v, nil] if trackable_class.tracked_field?(k, :destroy) } insert_embeds_one_changes insert_embeds_many_changes @attributes end private def insert_embeds_one_changes trackable_class.tracked_embeds_one .map { |rel| aliased_fields.key(rel) || rel } .each do |rel| permitted_attrs = trackable_class.tracked_embeds_one_attributes(rel) obj = trackable.send(rel) @attributes[rel] = [obj.attributes.slice(*permitted_attrs), nil] if obj end end def insert_embeds_many_changes trackable_class.tracked_embeds_many .map { |rel| aliased_fields.key(rel) || rel } .each do |rel| permitted_attrs = trackable_class.tracked_embeds_many_attributes(rel) @attributes[rel] = [trackable.send(rel).map { |obj| obj.attributes.slice(*permitted_attrs) }, nil] end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-history-0.6.0 | lib/mongoid/history/attributes/destroy.rb |