Sha256: f89cbbac4d9602c0108f37f30be6b25644c8b4a874c0f179ab1f129e6d0592d9
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require_relative 'properties/borders' require_relative 'cell_properties' module OoxmlParser # Class for parsing `tc` tags class TableCell < OOXMLDocumentObject attr_accessor :text_body, :properties, :grid_span, :horizontal_merge, :vertical_merge, :elements def initialize(parent: nil) @elements = [] @parent = parent end alias cell_properties properties # Parse TableCell object # @param node [Nokogiri::XML:Element] node to parse # @return [TableCell] result of parsing def parse(node) node.attributes.each do |key, value| case key when 'gridSpan' @grid_span = value.value.to_i when 'hMerge' @horizontal_merge = value.value.to_i when 'vMerge' @vertical_merge = value.value.to_i end end node.xpath('*').each do |node_child| case node_child.name when 'txBody' @text_body = TextBody.new(parent: self).parse(node_child) when 'tcPr' @properties = CellProperties.new(parent: self).parse(node_child) when 'p' @elements << DocumentStructure.default_table_paragraph_style.copy.parse(node_child, 0, DocumentStructure.default_table_run_style, parent: self) when 'tbl' @elements << Table.new(parent: self).parse(node_child) end end self end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ooxml_parser-0.2.0 | lib/ooxml_parser/common_parser/common_data/table/row/cell/cell.rb |