Class: Renalware::Letters::PdfRenderer

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/letters/pdf_renderer.rb

Constant Summary collapse

OPTIONS =
{
  page_size: "A4",
  footer: {
    font_size: 8,
    right: "Page [page] of [topage]"
  },
  encoding: "UTF-8"
}.freeze

Class Method Summary collapse

Class Method Details

.call(letter, **options) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'app/models/renalware/letters/pdf_renderer.rb', line 20

def self.call(letter, **options)
  unless letter.respond_to?(:to_html)
    letter = LetterPresenterFactory.new(letter)
  end
  PdfLetterCache.fetch(letter, **options) do
    Rails.logger.info "    Rendering PDF for letter #{letter.id}"
    WickedPdf.new.pdf_from_string(letter.to_html(**options), OPTIONS)
  end
end