From 0ebac90b0ebb07ad2aa99080c8509559a7ddc74d Mon Sep 17 00:00:00 2001 From: kou Date: Sat, 16 Oct 2004 04:39:58 +0000 Subject: * lib/rss: supported prety print. * test/rss/test_1.0.rb: added test for calculating default indent size. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rss/1.0.rb | 126 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 67 insertions(+), 59 deletions(-) (limited to 'lib/rss/1.0.rb') diff --git a/lib/rss/1.0.rb b/lib/rss/1.0.rb index be141d73d8..999301c595 100644 --- a/lib/rss/1.0.rb +++ b/lib/rss/1.0.rb @@ -28,7 +28,7 @@ module RSS end - TAG_NAME.replace('RDF') + @tag_name = 'RDF' PREFIX = 'rdf' URI = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" @@ -57,19 +57,21 @@ module RSS super('1.0', version, encoding, standalone) end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT rv = <<-EORDF #{xmldecl} -#{xml_stylesheet_pi}<#{PREFIX}:RDF#{ns_declaration}> -#{channel_element(false)} -#{image_element(false)} -#{item_elements(false)} -#{textinput_element(false)} -#{other_element(false, "\t")} - +#{xml_stylesheet_pi} +#{indent}<#{PREFIX}:RDF#{ns_declaration(next_indent)}> +#{channel_element(false, next_indent)} +#{image_element(false, next_indent)} +#{item_elements(false, next_indent)} +#{textinput_element(false, next_indent)} +#{other_element(false, next_indent)} +#{indent} EORDF rv = @converter.convert(rv) if convert and @converter - rv + remove_empty_newline(rv) end private @@ -105,7 +107,7 @@ EORDF end - TAG_NAME.replace('Seq') + @tag_name = 'Seq' install_have_children_element("li") @@ -116,12 +118,13 @@ EORDF @li = li end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT <<-EOT - <#{PREFIX}:Seq> -#{li_elements(convert, "\t\t\t\t")} -#{other_element(convert, "\t\t\t\t")} - +#{indent}<#{PREFIX}:Seq> +#{li_elements(convert, next_indent)} +#{other_element(convert, next_indent)} +#{indent} EOT end @@ -167,9 +170,9 @@ EOT @resource = resource end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) if @resource - rv = %Q!<#{PREFIX}:li resource="#{h @resource}" />\n! + rv = %Q!#{indent}<#{PREFIX}:li resource="#{h @resource}" />\n! rv = @converter.convert(rv) if convert and @converter rv else @@ -228,19 +231,20 @@ EOT @about = about end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT about = '' about << %Q!#{PREFIX}:about="#{h @about}"! if @about rv = <<-EOT - - #{title_element(false)} - #{link_element(false)} - #{description_element(false)} - #{image_element(false)} -#{items_element(false)} - #{textinput_element(false)} -#{other_element(false, "\t\t")} - +#{indent} +#{title_element(false, next_indent)} +#{link_element(false, next_indent)} +#{description_element(false, next_indent)} +#{image_element(false, next_indent)} +#{items_element(false, next_indent)} +#{textinput_element(false, next_indent)} +#{other_element(false, next_indent)} +#{indent} EOT rv = @converter.convert(rv) if convert and @converter rv @@ -293,9 +297,9 @@ EOT @resource = resource end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) if @resource - rv = %Q!! + rv = %Q!#{indent}! rv = @converter.convert(rv) if convert and @converter rv else @@ -335,9 +339,9 @@ EOT @resource = resource end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) if @resource - rv = %Q|| + rv = %Q|#{indent}| rv = @converter.convert(rv) if convert and @converter rv else @@ -382,12 +386,13 @@ EOT @Seq = seq end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT <<-EOT - -#{Seq_element(convert)} -#{other_element(convert, "\t\t\t")} - +#{indent} +#{Seq_element(convert, next_indent)} +#{other_element(convert, next_indent)} +#{indent} EOT end @@ -446,16 +451,17 @@ EOT @about = about end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT about = '' about << %Q!#{PREFIX}:about="#{h @about}"! if @about rv = <<-EOT - - #{title_element(false)} - #{url_element(false)} - #{link_element(false)} -#{other_element(false, "\t\t")} - +#{indent} +#{title_element(false, next_indent)} +#{url_element(false, next_indent)} +#{link_element(false, next_indent)} +#{other_element(false, next_indent)} +#{indent} EOT rv = @converter.convert(rv) if convert and @converter rv @@ -515,16 +521,17 @@ EOT @about = about end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT about = '' about << %Q!#{PREFIX}:about="#{h @about}"! if @about rv = <<-EOT - - #{title_element(false)} - #{link_element(false)} - #{description_element(false)} -#{other_element(false, "\t\t")} - +#{indent} +#{title_element(false, next_indent)} +#{link_element(false, next_indent)} +#{description_element(false, next_indent)} +#{other_element(false, next_indent)} +#{indent} EOT rv = @converter.convert(rv) if convert and @converter rv @@ -585,17 +592,18 @@ EOT @about = about end - def to_s(convert=true) + def to_s(convert=true, indent=calc_indent) + next_indent = indent + INDENT about = '' about << %Q!#{PREFIX}:about="#{h @about}"! if @about rv = <<-EOT - - #{title_element(false)} - #{description_element(false)} - #{name_element(false)} - #{link_element(false)} -#{other_element(false, "\t\t")} - +#{indent} +#{title_element(false, next_indent)} +#{description_element(false, next_indent)} +#{name_element(false, next_indent)} +#{link_element(false, next_indent)} +#{other_element(false, next_indent)} +#{indent} EOT rv = @converter.convert(rv) if convert and @converter rv -- cgit v1.2.3