Class: Renalware::Letters::SavePdfLetterToFileJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Renalware::Letters::SavePdfLetterToFileJob
- Defined in:
- app/jobs/renalware/letters/save_pdf_letter_to_file_job.rb
Overview
Used for example in a host app like renalware-kch to generate a PDF letter for saving to the electronic public register
Instance Method Summary collapse
- #create_folder_if_not_exists(path) ⇒ Object
- #pdf_data_for(letter) ⇒ Object
- #perform(letter:, file_path:) ⇒ Object
Instance Method Details
#create_folder_if_not_exists(path) ⇒ Object
25 26 27 |
# File 'app/jobs/renalware/letters/save_pdf_letter_to_file_job.rb', line 25 def create_folder_if_not_exists(path) FileUtils.mkdir_p(path.dirname) end |
#pdf_data_for(letter) ⇒ Object
20 21 22 23 |
# File 'app/jobs/renalware/letters/save_pdf_letter_to_file_job.rb', line 20 def pdf_data_for(letter) letter = Renalware::Letters::LetterPresenter.new(letter) Renalware::Letters::PdfRenderer.call(letter) end |
#perform(letter:, file_path:) ⇒ Object
14 15 16 17 18 |
# File 'app/jobs/renalware/letters/save_pdf_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 << pdf_data_for(letter) } end |