lib/rom/repository/changeset/update.rb in rom-repository-1.3.1 vs lib/rom/repository/changeset/update.rb in rom-repository-1.3.2
- old
+ new
@@ -75,11 +75,14 @@
#
# @api public
def diff
@diff ||=
begin
- new_tuple = __data__.to_a
- ori_tuple = original.to_a
+ data_tuple = __data__.to_a
+ data_keys = __data__.keys & original.keys
+
+ new_tuple = data_tuple.to_a.select { |(k, _)| data_keys.include?(k) }
+ ori_tuple = original.to_a.select { |(k, _)| data_keys.include?(k) }
Hash[new_tuple - (new_tuple & ori_tuple)]
end
end
end