class InvoiceCreator::Cli

Public Instance Methods

create(hours, expenses_amount = 0.0) click to toggle source
# File lib/invoice_creator/cli.rb, line 23
    def create(hours, expenses_amount = 0.0)
      invoice = Models::Invoice.new(
        rate: ConfigReader.instance.rate,
        due_day: ConfigReader.instance.due_day,
        billable_hours: hours.to_f,
        expenses_amount: expenses_amount.to_f,
        number: options[:number]
      )

      presenter = Presenters::Invoice.new(
        invoice: invoice,
        config: ConfigReader.instance
      )

      Services::InvoicePrinter.new(presenter: presenter).print

      puts <<~MESSAGE
      Invoice created.
      You can find it @ #{presenter.filename}
      MESSAGE
    end