Sha256: 6a5084f80775c3910e68fbd8cc6bd6fb8d7b811b97ada2fba1f68629ad804d4a
Contents?: true
Size: 1.91 KB
Versions: 3
Compression:
Stored size: 1.91 KB
Contents
# frozen_string_literal: true module OoxmlParser # Class for parsing `w:pBdr` element class ParagraphBorders < OOXMLDocumentObject # @return [BordersProperties] bottom properties attr_accessor :bottom # @return [BordersProperties] left properties attr_accessor :left # @return [BordersProperties] top properties attr_accessor :top # @return [BordersProperties] right properties attr_accessor :right # @return [BordersProperties] between properties attr_accessor :between # @return [BordersProperties] bar properties attr_accessor :bar def border_visual_type result = [] result << :left if @left.val == :single result << :right if @right.val == :single result << :top if @top.val == :single result << :bottom if @bottom.val == :single result << :inner if @between.val == :single return :none if result == [] return :all if result == %i[left right top bottom inner] return :outer if result == %i[left right top bottom] result.first if result.size == 1 end # Parse Paragraph Borders data # @param [Nokogiri::XML:Element] node with Paragraph Borders data # @return [ParagraphBorders] value of Paragraph Borders data def parse(node) node.xpath('*').each do |node_child| case node_child.name when 'bottom' @bottom = BordersProperties.new(parent: self).parse(node_child) when 'left' @left = BordersProperties.new(parent: self).parse(node_child) when 'top' @top = BordersProperties.new(parent: self).parse(node_child) when 'right' @right = BordersProperties.new(parent: self).parse(node_child) when 'between' @between = BordersProperties.new(parent: self).parse(node_child) when 'bar' @bar = BordersProperties.new(parent: self).parse(node_child) end end self end end end
Version data entries
3 entries across 3 versions & 1 rubygems