class OoxmlParser::ChartCellsRange

Cell Range of Chart

Attributes

list[RW]
points[RW]

Public Class Methods

new(parent: nil) click to toggle source
Calls superclass method
# File lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_cells_range.rb, line 8
def initialize(parent: nil)
  @list = ''
  @points = []
  super
end

Public Instance Methods

parse(node) click to toggle source

Parse ChartCellsRange object @param node [Nokogiri::XML:Element] node to parse @return [ChartCellsRange] result of parsing

# File lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_cells_range.rb, line 17
def parse(node)
  @list = node.xpath('c:f')[0].text.split('!').first
  coordinates = Coordinates.parser_coordinates_range(node.xpath('c:f')[0].text) # .split('!')[1].gsub('$', ''))
  return self unless coordinates

  node.xpath('c:numCache/c:pt').each_with_index do |point_node, index|
    point = ChartPoint.new(coordinates[index])
    point.value = point_node.xpath('c:v').first.text.to_f unless point_node.xpath('c:v').first.nil?
    @points << point
  end
  self
end