Module: TreeDelta::Normaliser

Defined in:
lib/tree_delta/normaliser.rb

Class Method Summary collapse

Class Method Details

.normalise_deletions(nodes) ⇒ Object



18
19
20
# File 'lib/tree_delta/normaliser.rb', line 18

def normalise_deletions(nodes)
  nodes.reject { |n| nodes.any? { |m| n.parent == m } }
end

.normalise_position_changes(nodes) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/tree_delta/normaliser.rb', line 4

def normalise_position_changes(nodes)
  moving_nodes = []

  previous_node = nil
  nodes.each do |current_node|
    if previous_node && position(current_node) < position(previous_node)
      moving_nodes << current_node
    end
    previous_node = current_node
  end

  moving_nodes
end