Sha256: c8a669442c4f0c9b2aec6c866f06d3070f85887aec221959a2c46f1d2ffe43ab
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true module OoxmlParser # Class for working with Table Margins class TableMargins < OOXMLDocumentObject attr_accessor :is_default, :top, :bottom, :left, :right def initialize(is_default = true, top = nil, bottom = nil, left = nil, right = nil, parent: nil) @is_default = is_default @top = top @bottom = bottom @left = left @right = right @parent = parent end # TODO: Separate @is_default attribute and remove this method def ==(other) instance_variables.each do |current_attribute| next if current_attribute == :@parent next if current_attribute == :@is_default return false unless instance_variable_get(current_attribute) == other.instance_variable_get(current_attribute) end true end def to_s 'Default: ' + is_default.to_s + ' top: ' + @top.to_s + ', bottom: ' + @bottom.to_s + ', left: ' + @left.to_s + ', right: ' + @right.to_s end def parse(margin_node) margin_node.xpath('*').each do |cell_margin_node| case cell_margin_node.name when 'left' @left = OoxmlSize.new(cell_margin_node.attribute('w').value.to_f) when 'top' @top = OoxmlSize.new(cell_margin_node.attribute('w').value.to_f) when 'right' @right = OoxmlSize.new(cell_margin_node.attribute('w').value.to_f) when 'bottom' @bottom = OoxmlSize.new(cell_margin_node.attribute('w').value.to_f) end end self end end end
Version data entries
3 entries across 3 versions & 1 rubygems