Module: CommonFlows
- Defined in:
- lib/osaka/keynoteflow.rb,
lib/osaka/mailmergeflow.rb
Class Method Summary collapse
- .keynote_combine_files(result_file, files_to_merge) ⇒ Object
- .keynote_combine_files_from_directory_sorted(result_file, directory = ".", pattern = /^.*\.key$/) ⇒ Object
- .number_and_pages_mail_merge(numbers_file, pages_file, output_file) ⇒ Object
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. combine_keynote.copy combine_keynote.close keynote. 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 |