class OoxmlParser::TimeNode

Class for parsing TimeNode tags

Attributes

common_time_node[RW]
next_conditions_list[RW]
previous_conditions_list[RW]
type[RW]

Public Class Methods

new(type = nil, parent: nil) click to toggle source
Calls superclass method OoxmlParser::OOXMLDocumentObject::new
# File lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node.rb, line 11
def initialize(type = nil, parent: nil)
  @type = type
  @previous_conditions_list = []
  @next_conditions_list = []
  super(parent: parent)
end
parse_list(timing_list_node) click to toggle source

Parse list of timing nodes @param timing_list_node [Nokogiri::XML::Element] node to parse @return [Array<TimeNode>] list of nodes

# File lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node.rb, line 36
def self.parse_list(timing_list_node)
  timings = []
  timing_list_node.xpath('*').each do |time_node|
    case time_node.name
    when 'par'
      timings << TimeNode.new(:parallel, parent: timings).parse(time_node)
    when 'seq'
      timings << TimeNode.new(:sequence, parent: timings).parse(time_node)
    when 'anim'
      timings << TimeNode.new(:animate, parent: timings).parse(time_node)
    when 'set'
      timings << SetTimeNode.new(parent: timings).parse(time_node)
    when 'animEffect'
      timings << AnimationEffect.new(parent: timings).parse(time_node)
    when 'video'
      timings << :video
    when 'audio'
      timings << TimeNode.new(:audio, parent: timings).parse(time_node)
    end
  end
  timings
end

Public Instance Methods

parse(node) click to toggle source

Parse TimeNode @param node [Nokogiri::XML::Element] node to parse @return [TimeNode] value of SheetFormatProperties

# File lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node.rb, line 21
def parse(node)
  node.xpath('*').each do |node_child|
    case node_child.name
    when 'cTn'
      @common_time_node = CommonTiming.new(parent: self).parse(node_child)
    when 'prevCondLst'
      @previous_conditions_list = ConditionList.new(parent: self).parse(node_child)
    end
  end
  self
end