Class: Yalphabetize::Alphabetizer

Inherits:
Object
  • Object
show all
Defined in:
lib/yalphabetize/alphabetizer.rb

Instance Method Summary collapse

Constructor Details

#initialize(stream_node, order_checker_class:) ⇒ Alphabetizer

Returns a new instance of Alphabetizer.



5
6
7
8
# File 'lib/yalphabetize/alphabetizer.rb', line 5

def initialize(stream_node, order_checker_class:)
  @stream_node = stream_node
  @order_checker_class = order_checker_class
end

Instance Method Details

#callObject



10
11
12
13
14
15
16
17
# File 'lib/yalphabetize/alphabetizer.rb', line 10

def call
  stream_node.select(&:mapping?).each do |node|
    order_checker = order_checker_class.new_for(node)
    pair_up_children(node)
    alphabetize_children(node, order_checker)
    unpair_children(node)
  end
end