Sha256: 6f4bac4e4310ee97afd83e5d73de771d4a2c7b838bb4b8138aa8ae7854247561
Contents?: true
Size: 867 Bytes
Versions: 30
Compression:
Stored size: 867 Bytes
Contents
module Mongoo module Changelog def changelog persisted_mongohash_kv = (self.persisted_mongohash || Mongoo::Mongohash.new).to_key_value curr_mongohash_kv = self.mongohash.to_key_value log = [] persisted_mongohash_kv.each do |k,v| unless curr_mongohash_kv.has_key?(k) found = nil parts = k.split(".") while parts.pop if !self.mongohash.dot_get(parts.join(".")) found = [:unset, parts.join("."), 1] end end found ||= [:unset, k, 1] log << found end end curr_mongohash_kv.each do |k,v| if v != persisted_mongohash_kv[k] unless log.include?([:set, k, v]) log << [:set, k, v] end end end log.uniq end end end
Version data entries
30 entries across 30 versions & 1 rubygems