Sha256: 23f79e729d5ada8df52d028a91746b9e7f503b1910333f5fcf6463ff3d337701

Contents?: true

Size: 1.15 KB

Versions: 18

Compression:

Stored size: 1.15 KB

Contents

module PolishInvoicer
  class Writer
    attr_accessor :invoice
    attr_accessor :logger, :wkhtmltopdf_path, :wkhtmltopdf_command

    def initialize(invoice)
      @invoice = invoice
      @logger = @invoice.logger
      @wkhtmltopdf_path = @invoice.wkhtmltopdf_path
      @wkhtmltopdf_command = @invoice.wkhtmltopdf_command
    end

    def save_to_html(path)
      create_writer
      @writer.save_to_html(path)
    end

    def save_to_pdf(path)
      create_writer
      @writer.save_to_pdf(path)
    end

    def template_path
      tpl = if invoice.proforma
              invoice.foreign_buyer ? 'proforma-en.slim' : 'proforma.slim'
            else
              invoice.foreign_buyer ? 'invoice-en.slim' : 'invoice.slim'
            end
      invoice.template_path || File.expand_path("../../../tpl/#{tpl}", __FILE__)
    end

    private

    def create_writer
      @writer = Slim2pdf::Writer.new(template_path)
      @writer.wkhtmltopdf_path = wkhtmltopdf_path
      @writer.wkhtmltopdf_command = wkhtmltopdf_command
      @writer.logger = logger
      data = @invoice.to_hash
      @writer.data = data
      @writer.footer_text = data[:footer]
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
polish_invoicer-0.0.25 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.24 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.23 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.22 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.21 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.20 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.19 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.18 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.17 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.16 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.15 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.14 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.13 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.12 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.11 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.10 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.9 lib/polish_invoicer/writer.rb
polish_invoicer-0.0.8 lib/polish_invoicer/writer.rb