Class: Renalware::Letters::SaveRTFLetterToFileJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb

Overview

Used for example in a host app like renalware-blt to generate an RTF letter for saving to the electronic public register, aka EPR/CRS.

Instance Method Summary collapse

Instance Method Details

#create_folder_if_not_exists(path) ⇒ Object



24
25
26
# File 'app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb', line 24

def create_folder_if_not_exists(path)
  FileUtils.mkdir_p(path.dirname)
end

#perform(letter:, file_path:) ⇒ Object



14
15
16
17
18
# File 'app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb', line 14

def perform(letter:, file_path:)
  file_path = Pathname(file_path)
  create_folder_if_not_exists(file_path)
  File.open(file_path, "wb") { |file| file << rtf_data_for(letter) }
end

#rtf_data_for(letter) ⇒ Object



20
21
22
# File 'app/jobs/renalware/letters/save_rtf_letter_to_file_job.rb', line 20

def rtf_data_for(letter)
  RTFRenderer.new(LetterPresenterFactory.new(letter)).render
end