class Hiptest::Nodes::Walker

Constants

WALK_METHOD_NAMES

Public Instance Methods

walk_node(node) click to toggle source
# File lib/hiptest-publisher/nodes_walker.rb, line 5
def walk_node(node)
  walk_children(node)

  node.each {|item| walk_node(item)} if node.is_a? Array
  call_node_walker(node)
end

Private Instance Methods

call_node_walker(node) click to toggle source
# File lib/hiptest-publisher/nodes_walker.rb, line 19
def call_node_walker(node)
  return unless node.is_a? Hiptest::Nodes::Node

  if respond_to? walk_method_name(node)
    self.send(walk_method_name(node), node)
  end
end
walk_children(node) click to toggle source
# File lib/hiptest-publisher/nodes_walker.rb, line 14
def walk_children(node)
  return unless node.is_a? Hiptest::Nodes::Node
  node.children.each_value {|child| walk_node(child)}
end
walk_method_name(node) click to toggle source
# File lib/hiptest-publisher/nodes_walker.rb, line 29
def walk_method_name(node)
  WALK_METHOD_NAMES[node.class] ||= "walk_#{node.kind}".to_sym
end