Class REXML::Comment
In: lib/rexml/comment.rb
Parent: Child

Represents an XML comment; that is, text between <!— … —>

Methods

<=>   ==   clone   new   node_type   write  

Included Modules

Comparable

Constants

START = "<!--"
STOP = "-->"

External Aliases

string -> to_s

Attributes

string  [RW]  The content text

Public Class methods

Constructor. The first argument can be one of three types: @param first If String, the contents of this comment are set to the argument. If Comment, the argument is duplicated. If Source, the argument is scanned for a comment. @param second If the first argument is a Source, this argument should be nil, not supplied, or a Parent to be set as the parent of this object

[Source]

    # File lib/rexml/comment.rb, line 23
23:                 def initialize( first, second = nil )
24:                         #puts "IN COMMENT CONSTRUCTOR; SECOND IS #{second.type}"
25:                         super(second)
26:                         if first.kind_of? String
27:                                 @string = first
28:                         elsif first.kind_of? Comment
29:                                 @string = first.string
30:                         end
31:                 end

Public Instance methods

Compares this Comment to another; the contents of the comment are used in the comparison.

[Source]

    # File lib/rexml/comment.rb, line 71
71:                 def <=>(other)
72:                         other.to_s <=> @string
73:                 end

Compares this Comment to another; the contents of the comment are used in the comparison.

[Source]

    # File lib/rexml/comment.rb, line 78
78:                 def ==( other )
79:                         other.kind_of? Comment and
80:                         (other <=> self) == 0
81:                 end

[Source]

    # File lib/rexml/comment.rb, line 33
33:                 def clone
34:                         Comment.new self
35:                 end

[Source]

    # File lib/rexml/comment.rb, line 83
83:     def node_type
84:       :comment
85:     end
output:Where to write the string
indent:An integer. If -1, no indenting will be used; otherwise, the indentation will be this number of spaces, and children will be indented an additional amount.
transitive:If transitive is true and indent is >= 0, then the output will be pretty-printed in such a way that the added whitespace does not affect the absolute value of the document — that is, it leaves the value and number of Text nodes in the document unchanged.
ie_hack:Internet Explorer is the worst piece of crap to have ever been written, with the possible exception of Windows itself. Since IE is unable to parse proper XML, we have to provide a hack to generate XML that IE‘s limited abilities can handle. This hack inserts a space before the /> on empty tags.

[Source]

    # File lib/rexml/comment.rb, line 55
55:                 def write( output, indent=-1, transitive=false, ie_hack=false )
56:                         indent( output, indent )
57:                         output << START
58:                         output << @string
59:       if indent>-1
60:         output << "\n"
61:         indent( output, indent )
62:       end
63:                         output << STOP
64:                 end

[Validate]