Skip to content

Instantly share code, notes, and snippets.

@tbuehlmann
Created August 19, 2013 09:43
Show Gist options
  • Save tbuehlmann/6267449 to your computer and use it in GitHub Desktop.
Save tbuehlmann/6267449 to your computer and use it in GitHub Desktop.
class Node
include Enumerable
# ...
def each(&block)
nodes = [self]
until nodes.empty?
node = nodes.shift
yield node
nodes.unshift(*node.children) if node.children.any?
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment