332: def to_s (leader = '', indent = ' ')
333: hdr = leader + @dot_string + (@name.nil? ? '' : ' ' + quote_ID(@name)) + " {\n"
334:
335: options = @options.to_a.collect do |name, val|
336: unless val.nil? then
337: if name == 'label' then
338: leader + indent + "#{quote_ID(name)} = #{quote_label(val)}"
339: else
340: leader + indent + "#{quote_ID(name)} = #{quote_ID(val)}"
341: end
342: end
343: end.compact.join( "\n" )
344:
345: elements = @elements.collect do |element|
346: element.to_s(leader + indent, indent)
347: end.join("\n\n")
348: hdr + (options.empty? ? '' : options + "\n\n") +
349: (elements.empty? ? '' : elements + "\n") + leader + "}"
350: end