Class: Command::Results::XMLFormatter
Overview
A trivial and obvious Formatter: produces well-formed XML fragments based on events. It even indents. Might be handy for more complicated output processing, since you could feed the document to a XSLT processor.
Instance Attribute Summary
Attributes inherited from Formatter
#advice
Instance Method Summary
collapse
Methods inherited from Formatter
#apply_advice, #default_advice, #finish, inherited, #notify, #receive_advice, #saw_begin_list, #saw_end_list, #saw_item, #start
Constructor Details
#initialize(out = nil, err = nil, indent = " ", newline = "\n") ⇒ XMLFormatter
Returns a new instance of XMLFormatter.
824
825
826
827
828
829
|
# File 'lib/command-set/results.rb', line 824
def initialize(out = nil, err = nil, indent=" ", newline="\n")
super(out, err)
@indent = indent
@newline = newline
@indent_level=0
end
|
Instance Method Details
#closed_begin_list(name) ⇒ Object
835
836
837
838
|
# File 'lib/command-set/results.rb', line 835
def closed_begin_list(name)
line "<#{name}#{xmlize_options(name)}>"
@indent_level += 1
end
|
#closed_end_list(name) ⇒ Object
844
845
846
847
848
849
850
851
|
# File 'lib/command-set/results.rb', line 844
def closed_end_list(name)
@indent_level -= 1
if @indent_level < 0
@indent_level = 0
return
end
line "</#{name}>"
end
|
#closed_item(value) ⇒ Object
840
841
842
|
# File 'lib/command-set/results.rb', line 840
def closed_item(value)
line "<item value=\"#{value}\"#{xmlize_options(value)} />"
end
|
#line(string) ⇒ Object
831
832
833
|
# File 'lib/command-set/results.rb', line 831
def line(string)
print "#{@indent * @indent_level}#{string}#@newline"
end
|