Class: SimpleInvoice::Services::CreateInvoice

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/simple_invoice/services/create_invoice.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#contact=(value) ⇒ Object

Sets the attribute contact

Parameters:

  • value

    the value to set the attribute contact to.



12
13
14
# File 'lib/simple_invoice/services/create_invoice.rb', line 12

def contact=(value)
  @contact = value
end

Class Method Details

.call(&block) ⇒ SimpleInvoice::Invoice



6
7
8
9
10
# File 'lib/simple_invoice/services/create_invoice.rb', line 6

def self.call &block
  instance = new
  block.call instance
  instance.create_invoice
end

Instance Method Details

#add_item(description, price, quantity = 1) ⇒ Object

Parameters:

  • description (String)
  • price (Fixnum)
  • quantity (Fixnum) (defaults to: 1)


27
28
29
30
# File 'lib/simple_invoice/services/create_invoice.rb', line 27

def add_item description, price, quantity=1
  line_item = LineItem.new description, price, quantity
  invoice.add_line_item line_item
end

#create_invoiceSimpleInvoice::Invoice



18
19
20
21
22
# File 'lib/simple_invoice/services/create_invoice.rb', line 18

def create_invoice
  invoice.tap do |inv|
    allocate_invoice_number inv
  end
end