Class: Renalware::Letters::SaveRTFLetterToFileJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Renalware::Letters::SaveRTFLetterToFileJob
- 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
- #create_folder_if_not_exists(path) ⇒ Object
- #perform(letter:, file_path:) ⇒ Object
- #rtf_data_for(letter) ⇒ Object
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 |