class InvoiceCreator::Services::InvoicePrinter

Public Class Methods

new(presenter:) click to toggle source
# File lib/invoice_creator/services/invoice_printer.rb, line 7
def initialize(presenter:)
  @presenter = presenter
  @prawn = Prawn::Document.new
end

Public Instance Methods

print() click to toggle source

Private Instance Methods

rows() click to toggle source
# File lib/invoice_creator/services/invoice_printer.rb, line 52
def rows
  rows = []

  rows << Array(
    ["Software Development", @presenter.billable_hours, @presenter.rate, @presenter.billable_amount]
  )

  if @presenter.has_expenses?
    rows << Array(["Expenses", 1, @presenter.expenses_amount, @presenter.expenses_amount])
  end

  rows
end