class Packwerk::NodeVisitor

Public Class Methods

new(node_processor:) click to toggle source
# File lib/packwerk/node_visitor.rb, line 6
def initialize(node_processor:)
  @node_processor = node_processor
end

Public Instance Methods

visit(node, ancestors:, result:) click to toggle source
# File lib/packwerk/node_visitor.rb, line 10
def visit(node, ancestors:, result:)
  result.concat(@node_processor.call(node, ancestors))

  child_ancestors = [node] + ancestors
  Node.each_child(node) do |child|
    visit(child, ancestors: child_ancestors, result: result)
  end
end