Google

def write( output, indent=0, transitive=false ) indent( output, indent ) output << START output << ' ' output << @name output << " #@external_id" unless @external_id.nil? unless @children.empty? next_indent = indent + 2 output << ' [' child = nil # speed @children.each { |child| output << "\n" child.write( output, next_indent ) } output << "\n" #output << ' '*next_indent output << "]" end output << STOP end