Class: OoxmlParser::SDTContent
- Inherits:
-
OOXMLDocumentObject
- Object
- OOXMLDocumentObject
- OoxmlParser::SDTContent
- Defined in:
- lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb
Overview
Class for parsing ‘w:w:sdtContent` tags
Instance Attribute Summary collapse
-
#elements ⇒ Array <ParagraphRun, Table, ParagraphRun>
readonly
List of all elements in SDT.
Attributes inherited from OOXMLDocumentObject
Instance Method Summary collapse
-
#initialize(parent: nil) ⇒ SDTContent
constructor
A new instance of SDTContent.
-
#paragraphs ⇒ Array<DocxParagraphs>
List of paragraphs.
-
#parse(node) ⇒ SDTContent
Parse SDTContent object.
-
#runs ⇒ Array<ParagraphRun>
List of runs.
-
#tables ⇒ Array<Table>
List of tables.
Methods inherited from OOXMLDocumentObject
#==, add_to_xmls_stack, copy_file_and_rename_to_zip, current_xml, dir, encrypted_file?, get_link_from_rels, unzip_file, #with_data?
Methods included from OoxmlDocumentObjectHelper
Constructor Details
#initialize(parent: nil) ⇒ SDTContent
Returns a new instance of SDTContent.
7 8 9 10 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 7 def initialize(parent: nil) @elements = [] @parent = parent end |
Instance Attribute Details
#elements ⇒ Array <ParagraphRun, Table, ParagraphRun> (readonly)
Returns list of all elements in SDT.
5 6 7 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 5 def elements @elements end |
Instance Method Details
#paragraphs ⇒ Array<DocxParagraphs>
Returns list of paragraphs.
30 31 32 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 30 def paragraphs @elements.select { |obj| obj.is_a?(OoxmlParser::DocxParagraph) } end |
#parse(node) ⇒ SDTContent
Parse SDTContent object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 15 def parse(node) node.xpath('*').each do |node_child| case node_child.name when 'p' @elements << DocxParagraph.new(parent: self).parse(node_child) when 'r' @elements << ParagraphRun.new(parent: self).parse(node_child) when 'tbl' @elements << Table.new(parent: self).parse(node_child) end end self end |
#runs ⇒ Array<ParagraphRun>
Returns list of runs.
35 36 37 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 35 def runs @elements.select { |obj| obj.is_a?(OoxmlParser::ParagraphRun) } end |
#tables ⇒ Array<Table>
Returns list of tables.
40 41 42 |
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb', line 40 def tables @elements.select { |obj| obj.is_a?(OoxmlParser::Table) } end |