Refactor invoice PDF generation, download and delivery

- Remove `Que::Mailer` (#895)
- Extract controllers
- Extract translations
- Convert HAML to ERB
- Add mailer preview
- Improve UI
- Remove unused routes
- Add tests
This commit is contained in:
Artur Beljajev 2019-04-07 19:10:11 +03:00
parent 7e0fd30125
commit 27ea790b28
30 changed files with 288 additions and 138 deletions

View file

@ -0,0 +1,22 @@
class Invoice
class PdfGenerator
attr_reader :invoice
def initialize(invoice)
@invoice = invoice
end
def as_pdf
generator = PDFKit.new(invoice_html)
generator.to_pdf
end
private
def invoice_html
view = ActionView::Base.new(ActionController::Base.view_paths, invoice: invoice)
view.class_eval { include ApplicationHelper }
view.render(file: 'invoice/pdf', layout: false)
end
end
end