# Creates PDF for order class OrderToPdf def initialize(order) @order = order end def call order_to_pdf end def path_to_file "#{Rails.root}/storage/pdfs/zamowienie_#{order.beauty_id}.pdf" end def file_name "zamowienie_#{order.beauty_id}.pdf" end private attr_reader :order def order_to_html_string ret = "

Zamówienie: '\ "#{order.beauty_id}


"\ ''\ '' order.order_products.each do |op| ret += "" end ret += ''\ ''\ ""\ ''\ ""\ ''\ ''\ ""\ "
Produkt'\ 'Cena jednostkowaIlośćSuma
#{op.product.name}PLN #{format('%.2f', op.price)}<"\ "/td>#{op.quantity}PLN #{format('%.2f', op.multiple_price)}
TowarPLN #{format('%.2f', @order.order_value)}
WysyłkaPLN #{format('%.2f', @order.shipping.price)}
Razem do zapłatyPLN #{format('%.2f', @order.order_summary)}

Adres dostawy


#{order.full_name}
"\ "#{order.address.gsub(/(\r\n|\n\r|\r|\n)/, '
')}"\ '

Wiadomość od klienta:

'\ "#{order.message_from_client.gsub(/(\r\n|\n\r|\r|\n)/, '
')}"\ '' ret end def order_to_pdf pdf = WickedPdf.new.pdf_from_string(order_to_html_string) save_path = "#{Rails.root}/storage/pdfs" FileUtils.mkdir_p save_path file_name = "zamowienie_#{order.beauty_id}.pdf" save_path += "/#{file_name}" File.open(save_path, 'wb') do |file| file << pdf end pdf end end