Class: OoxmlParser::SDTContent
- Inherits:
-
OOXMLDocumentObject
- Object
- OOXMLDocumentObject
- OoxmlParser::SDTContent
- Defined in:
- lib/ooxml_parser/docx_parser/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
#==, #boolean_attribute_value, #parse_xml, #with_data?
Methods included from OoxmlObjectAttributeHelper
#attribute_enabled?, #option_enabled?
Methods included from OoxmlDocumentObjectHelper
Constructor Details
#initialize(parent: nil) ⇒ SDTContent
Returns a new instance of SDTContent.
9 10 11 12 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 9 def initialize(parent: nil) @elements = [] super end |
Instance Attribute Details
#elements ⇒ Array <ParagraphRun, Table, ParagraphRun> (readonly)
Returns list of all elements in SDT.
7 8 9 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 7 def elements @elements end |
Instance Method Details
#paragraphs ⇒ Array<DocxParagraphs>
Returns list of paragraphs.
32 33 34 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 32 def paragraphs @elements.select { |obj| obj.is_a?(OoxmlParser::DocxParagraph) } end |
#parse(node) ⇒ SDTContent
Parse SDTContent object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 17 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.
37 38 39 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 37 def runs @elements.select { |obj| obj.is_a?(OoxmlParser::ParagraphRun) } end |
#tables ⇒ Array<Table>
Returns list of tables.
42 43 44 |
# File 'lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb', line 42 def tables @elements.select { |obj| obj.is_a?(OoxmlParser::Table) } end |