Module: Foundries::Similarity::Comparator

Defined in:
lib/foundries/similarity/comparator.rb

Class Method Summary collapse

Class Method Details

.compare(new_key, new_tree, registry) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/foundries/similarity/comparator.rb', line 6

def self.compare(new_key, new_tree, registry)
  warnings = []

  registry.each do |existing_key, existing_tree|
    next if existing_key == new_key
    pair_key = [new_key, existing_key].sort

    if new_tree == existing_tree
      warnings << {
        pair: pair_key,
        message: "[Foundries] Preset :#{preset_name(new_key)} and " \
          ":#{preset_name(existing_key)} have identical structure " \
          "(#{display_tree(new_tree)})"
      }
    end
  end

  warnings
end