Class: Archimate::Diff::Conflicts::DeletedItemsChildUpdatedConflict

Inherits:
BaseConflict
  • Object
show all
Defined in:
lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb

Instance Method Summary collapse

Methods inherited from BaseConflict

#conflicts, #diff_combinations, #diff_iterations, #initialize

Constructor Details

This class inherits a constructor from Archimate::Diff::Conflicts::BaseConflict

Instance Method Details

#describeObject



6
7
8
# File 'lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb', line 6

def describe
  "Checking for Deleted items in one change set have children that are inserted or changed in the other change set"
end

#diff_conflicts(diff1, diff2) ⇒ Object

TODO: This is simple, but might be slow.



19
20
21
22
23
24
25
26
# File 'lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb', line 19

def diff_conflicts(diff1, diff2)
  da1 = diff1.path.split("/")
  da2 = diff2.path.split("/")

  cmp_size = [da1, da2].map(&:size).min - 1
  return false if da2.size == cmp_size + 1
  da1[0..cmp_size] == da2[0..cmp_size]
end

#filter1Object



10
11
12
# File 'lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb', line 10

def filter1
  ->(diff) { diff.delete? }
end

#filter2Object



14
15
16
# File 'lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb', line 14

def filter2
  ->(diff) { !diff.delete? }
end