class PPTX::Presentation
Constants
- MIN_SLIDE_ID
- NS
Public Class Methods
new(package, part_name)
click to toggle source
Calls superclass method
PPTX::OPC::Part::new
# File lib/pptx/presentation.rb, line 6 def initialize(package, part_name) super(package, part_name) end
Public Instance Methods
add_slide(slide)
click to toggle source
# File lib/pptx/presentation.rb, line 10 def add_slide(slide) # TODO remove me - remove existing slide from template # slide_list_xml.xpath('./p:sldId').each do |slide| # slide_list.children.delete(slide) # end ref_id = relationships.add(relative_part_name(slide.part_name), RELTYPE_SLIDE) # add slide to sldIdList in presentation slide_id = Nokogiri::XML::Node.new('p:sldId', doc) slide_id['id'] = next_slide_id slide_id['r:id'] = ref_id slide_list_xml.add_child(slide_id) end
next_slide_id()
click to toggle source
# File lib/pptx/presentation.rb, line 24 def next_slide_id ids = slide_list_xml.xpath('./p:sldId').map { |sid| sid['id'].to_i } return (ids.max || MIN_SLIDE_ID - 1) + 1 end
slide_list_xml()
click to toggle source
# File lib/pptx/presentation.rb, line 29 def slide_list_xml @slide_list_xml ||= doc.xpath('/p:presentation/p:sldIdLst', p: NS).first end