Class: Writexlsx::Package::XMLWriterSimple
- Inherits:
-
Object
- Object
- Writexlsx::Package::XMLWriterSimple
- Defined in:
- lib/write_xlsx/package/xml_writer_simple.rb
Instance Method Summary collapse
- #characters(data) ⇒ Object
- #close ⇒ Object
- #crlf ⇒ Object
- #data_element(tag, data, attr = []) ⇒ Object
- #empty_tag(tag, attr = []) ⇒ Object
- #empty_tag_encoded(tag, attr = []) ⇒ Object
- #empty_tag_encoded_str(tag, attr = []) ⇒ Object
- #end_tag(tag) ⇒ Object
- #end_tag_str(tag) ⇒ Object
-
#initialize ⇒ XMLWriterSimple
constructor
A new instance of XMLWriterSimple.
- #io_write(str) ⇒ Object
- #set_xml_writer(filename = nil) ⇒ Object
-
#si_element(data, attr) ⇒ Object
Optimised tag writer ? for shared strings <si> elements.
-
#si_rich_element(data) ⇒ Object
Optimised tag writer for shared strings <si> rich string elements.
- #start_tag(tag, attr = []) ⇒ Object
- #start_tag_str(tag, attr = []) ⇒ Object
- #string ⇒ Object
- #tag_elements(tag, attributes = []) ⇒ Object
- #tag_elements_str(tag, attributes = []) ⇒ Object
- #xml_decl(encoding = 'UTF-8', standalone = true) ⇒ Object
Constructor Details
#initialize ⇒ XMLWriterSimple
Returns a new instance of XMLWriterSimple.
10 11 12 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 10 def initialize @io = StringIO.new end |
Instance Method Details
#characters(data) ⇒ Object
83 84 85 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 83 def characters(data) io_write(escape_data(data)) end |
#close ⇒ Object
91 92 93 94 95 96 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 91 def close if @filename File.open(@filename, "wb") { |f| f << string } end @io.close end |
#crlf ⇒ Object
87 88 89 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 87 def crlf io_write("\n") end |
#data_element(tag, data, attr = []) ⇒ Object
65 66 67 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 65 def data_element(tag, data, attr = []) tag_elements(tag, attr) { io_write("#{escape_data(data)}") } end |
#empty_tag(tag, attr = []) ⇒ Object
52 53 54 55 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 52 def empty_tag(tag, attr = []) str = "<#{tag}#{key_vals(attr)}/>" io_write(str) end |
#empty_tag_encoded(tag, attr = []) ⇒ Object
57 58 59 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 57 def empty_tag_encoded(tag, attr = []) io_write(empty_tag_encoded_str(tag, attr)) end |
#empty_tag_encoded_str(tag, attr = []) ⇒ Object
61 62 63 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 61 def empty_tag_encoded_str(tag, attr = []) "<#{tag}#{key_vals(attr)}/>" end |
#end_tag(tag) ⇒ Object
44 45 46 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 44 def end_tag(tag) io_write(end_tag_str(tag)) end |
#end_tag_str(tag) ⇒ Object
48 49 50 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 48 def end_tag_str(tag) "</#{tag}>" end |
#io_write(str) ⇒ Object
102 103 104 105 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 102 def io_write(str) @io << str str end |
#set_xml_writer(filename = nil) ⇒ Object
14 15 16 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 14 def set_xml_writer(filename = nil) @filename = filename end |
#si_element(data, attr) ⇒ Object
Optimised tag writer ? for shared strings <si> elements.
72 73 74 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 72 def si_element(data, attr) tag_elements('si') { data_element('t', data, attr) } end |
#si_rich_element(data) ⇒ Object
Optimised tag writer for shared strings <si> rich string elements.
79 80 81 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 79 def si_rich_element(data) io_write("<si>#{data}</si>") end |
#start_tag(tag, attr = []) ⇒ Object
36 37 38 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 36 def start_tag(tag, attr = []) io_write(start_tag_str(tag, attr)) end |
#start_tag_str(tag, attr = []) ⇒ Object
40 41 42 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 40 def start_tag_str(tag, attr = []) "<#{tag}#{key_vals(attr)}>" end |
#string ⇒ Object
98 99 100 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 98 def string @io.string end |
#tag_elements(tag, attributes = []) ⇒ Object
23 24 25 26 27 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 23 def tag_elements(tag, attributes = []) start_tag(tag, attributes) yield end_tag(tag) end |
#tag_elements_str(tag, attributes = []) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 29 def tag_elements_str(tag, attributes = []) str = '' str << start_tag_str(tag, attributes) str << yield str << end_tag_str(tag) end |
#xml_decl(encoding = 'UTF-8', standalone = true) ⇒ Object
18 19 20 21 |
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 18 def xml_decl(encoding = 'UTF-8', standalone = true) str = %Q!<?xml version="1.0" encoding="#{encoding}" standalone="#{standalone ? 'yes' : 'no'}"?>\n! io_write(str) end |