Files
openfoodnetwork/app/services/invoice_renderer.rb

32 lines
611 B
Ruby

class InvoiceRenderer
def initialize(renderer = ApplicationController.new)
@renderer = renderer
end
def render_to_string(order)
renderer.instance_variable_set(:@order, order)
renderer.render_to_string_with_wicked_pdf(args(order))
end
def args(order)
{
pdf: "invoice-#{order.number}.pdf",
template: invoice_template,
formats: [:html],
encoding: "UTF-8"
}
end
private
attr_reader :renderer
def invoice_template
if Spree::Config.invoice_style2?
"spree/admin/orders/invoice2"
else
"spree/admin/orders/invoice"
end
end
end