Class: SimpleInvoice::InvoiceData

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_invoice/invoice_data.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(inv_number = nil, issue_date = nil, due_date_or_due_days = nil) ⇒ InvoiceData

Returns a new instance of InvoiceData.

Parameters:

  • inv_number (#to_s, nil) (defaults to: nil)
  • issue_date (#to_s, Date, nil) (defaults to: nil)
  • due_date_or_due_days (#to_s, Date, Fixnum, nil) (defaults to: nil)

    interpreted as due days if Fixnum



9
10
11
12
# File 'lib/simple_invoice/invoice_data.rb', line 9

def initialize inv_number=nil, issue_date=nil, due_date_or_due_days=nil
  self.invoice_number = inv_number unless inv_number.nil?
  set_dates(issue_date, due_date_or_due_days) unless [issue_date, due_date_or_due_days].any?(&:nil?)
end

Instance Attribute Details

#due_dateObject (readonly)

Returns the value of attribute due_date.



4
5
6
# File 'lib/simple_invoice/invoice_data.rb', line 4

def due_date
  @due_date
end

#invoice_numberObject

Returns the value of attribute invoice_number.



4
5
6
# File 'lib/simple_invoice/invoice_data.rb', line 4

def invoice_number
  @invoice_number
end

#issue_dateObject (readonly)

Returns the value of attribute issue_date.



4
5
6
# File 'lib/simple_invoice/invoice_data.rb', line 4

def issue_date
  @issue_date
end

Instance Method Details

#due_daysFixnum

Returns:

  • (Fixnum)


31
32
33
# File 'lib/simple_invoice/invoice_data.rb', line 31

def due_days
  (due_date - issue_date).to_i
end

#set_dates(issue_date, due_date_or_due_days) ⇒ Object

Parameters:

  • issue_date (#to_s, Date)
  • due_date_or_due_days (#to_s, Date, Fixnum)

    interpreted as due days if Fixnum



21
22
23
24
25
26
27
28
# File 'lib/simple_invoice/invoice_data.rb', line 21

def set_dates issue_date, due_date_or_due_days
  @issue_date = to_date issue_date
  if due_date_or_due_days.is_a? Fixnum
    @due_date = @issue_date + due_date_or_due_days
  else
    @due_date = to_date due_date_or_due_days
  end
end