1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-10 21:24:20 +01:00
fab-manager/app/workers/invoice_worker.rb

25 lines
762 B
Ruby

class InvoiceWorker
include Sidekiq::Worker
def perform(invoice_id, subscription_expiration_date)
# generate a invoice
invoice = Invoice.find invoice_id
pdf = ::PDF::Invoice.new(invoice, subscription_expiration_date).render
# store invoice on drive
File.binwrite(invoice.file, pdf)
# notify user + send invoice by mail
if invoice.is_a?(Avoir)
NotificationCenter.call type: 'notify_user_when_avoir_ready',
receiver: invoice.user,
attached_object: invoice
else
NotificationCenter.call type: 'notify_user_when_invoice_ready',
receiver: invoice.user,
attached_object: invoice
end
end
end