Module: CommonFlows

Defined in:
lib/osaka/keynoteflow.rb,
lib/osaka/mailmergeflow.rb

Class Method Summary collapse

Class Method Details

.keynote_combine_files(result_file, files_to_merge) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/osaka/keynoteflow.rb', line 4

def self.keynote_combine_files(result_file, files_to_merge)
  keynote = Osaka::Keynote.new
  keynote.activate
  keynote.raise_error_on_open_standard_windows("All Keynote windows must be closed before running this flow")
      
  files_to_merge = [files_to_merge].flatten
  keynote.open(files_to_merge.shift)
  keynote.light_table_view
  keynote.save_as(result_file)
  
  
  files_to_merge.each { |file|
    combine_keynote = Osaka::Keynote.new
    combine_keynote.open(file)
    combine_keynote.select_all_slides
    combine_keynote.copy
    combine_keynote.close
    keynote.select_all_slides
    keynote.paste
  }
  
  keynote.save
  keynote.close
  keynote.quit
end

.keynote_combine_files_from_directory_sorted(result_file, directory = ".", pattern = /^.*\.key$/) ⇒ Object



30
31
32
33
34
35
# File 'lib/osaka/keynoteflow.rb', line 30

def self.keynote_combine_files_from_directory_sorted(result_file, directory = ".", pattern = /^.*\.key$/)
  files_in_directory = Dir.new(directory).entries
  files_in_directory.select! { |f| f =~ pattern }
  files_to_open = files_in_directory.collect { |f| File.join(directory, f)}
  keynote_combine_files(result_file, files_to_open.sort)
end

.number_and_pages_mail_merge(numbers_file, pages_file, output_file) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/osaka/mailmergeflow.rb', line 4

def self.number_and_pages_mail_merge(numbers_file, pages_file, output_file)
  
  if block_given?
    Osaka::Numbers.create_document(numbers_file) { |numbers|
      yield numbers         
    }      
  end

  pages = Osaka::Pages.new
  pages.open(pages_file)
  pages.set_mail_merge_document(numbers_file)
  pages.mail_merge_to_pdf(output_file)
  pages.close(:dont_save)
  pages.quit(:dont_save)
end