Class: MendixBridge::SnapshotDiff

Inherits:
Object
  • Object
show all
Defined in:
lib/mendix_bridge/snapshot_diff.rb

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Class Method Details

.compare(before, after) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/mendix_bridge/snapshot_diff.rb', line 15

def self.compare(before, after)
  old_elements = index(before)
  new_elements = index(after)
  old_keys = old_elements.keys
  new_keys = new_elements.keys

  Result.new(
    added: describe(new_keys - old_keys, new_elements),
    modified: describe(
      (old_keys & new_keys).select do |key|
        canonical(old_elements.fetch(key)) != canonical(new_elements.fetch(key))
      end,
      new_elements
    ),
    removed: describe(old_keys - new_keys, old_elements)
  )
end