class ViewModel::Changes

def ==(other)

def ==(other)
  return false unless other.is_a?(ViewModel::Changes)
  self.new? == other.new? &&
    self.changed_nested_children? == other.changed_nested_children? &&
    self.changed_referenced_children? == other.changed_referenced_children? &&
    self.deleted? == other.deleted? &&
    self.changed_attributes.contains_exactly?(other.changed_attributes) &&
    self.changed_associations.contains_exactly?(other.changed_associations)
end