module Keynote::ArrayMethods
Public Instance Methods
<<(slide)
click to toggle source
Calls superclass method
# File lib/keynote/slide_array.rb, line 6 def <<(slide) raise ArgumentError.new "master_slide_name is not specified" unless slide.base_slide title = slide.title.gsub(/(\r\n|\r|\n)/) { '\\n' } body = slide.body.gsub(/(\r\n|\r|\n)/) { '\\n' } result = eval_script <<-APPLE.unindent var Keynote = Application("Keynote") var doc = Keynote.documents.byId("#{self.document.id}") var masterSlide = doc.masterSlides.whose({name: "#{slide.base_slide}"}).first var slide = Keynote.Slide({ baseSlide: masterSlide }) doc.slides.push(slide) slide = doc.slides()[doc.slides().length - 1] slide.defaultTitleItem.objectText = "#{title}" slide.defaultBodyItem.objectText = "#{body}" var slideResult = { body_showing: slide.bodyShowing(), skipped: slide.skipped(), slide_number: slide.slideNumber(), title_showing: slide.titleShowing(), body: slide.defaultBodyItem.objectText(), title: slide.defaultTitleItem.objectText(), presenter_notes: slide.presenterNotes(), transition_properties: slide.transitionProperties() } JSON.stringify(slideResult) APPLE slide.document = self.document slide.body_showing = result["body_showing"] slide.skipped = result["skipped"] slide.slide_number = result["slide_number"] slide.title_showing = result["title_showing"] slide.presenter_notes = result["presenter_notes"] slide.transition_properties = result["transition_properties"] super end