Sha256: 867ef62ac25bbc0d73fa3731afc9fa8c63f8f2dda39a6b039b33344cb9c3855b
Contents?: true
Size: 471 Bytes
Versions: 5
Compression:
Stored size: 471 Bytes
Contents
require 'delegate' require 'forwardable' module Taketo class ConfigTraverser def initialize(root) @root = root end def visit_depth_first(visitor) path_stack = [@root] while path_stack.any? node = path_stack.pop visitor.visit(node) node.class.node_types.each do |node_type| node.nodes(node_type).reverse_each do |n| path_stack.push(n) end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems