class YDIM::Debitor
Constants
- ODBA_SERIALIZABLE
Attributes
address_lines[RW]
autoinvoices[R]
contact[RW]
contact_firstname[RW]
contact_title[RW]
country[RW]
debitor_type[RW]
email[RW]
invoices[R]
location[RW]
name[RW]
phone[RW]
salutation[RW]
unique_id[R]
Public Class Methods
new(unique_id)
click to toggle source
# File lib/ydim/debitor.rb, line 12 def initialize(unique_id) @unique_id = unique_id @address_lines = [] @invoices = [] @autoinvoices = [] end
Public Instance Methods
add_autoinvoice(invoice)
click to toggle source
# File lib/ydim/debitor.rb, line 24 def add_autoinvoice(invoice) @autoinvoices.push(invoice) invoice end
add_invoice(invoice)
click to toggle source
# File lib/ydim/debitor.rb, line 28 def add_invoice(invoice) @invoices.push(invoice) invoice end
address()
click to toggle source
# File lib/ydim/debitor.rb, line 32 def address lns = [@name] lns.push(["z.H.", @salutation, @contact_firstname, @contact].compact.join(' ')) lns.push(@contact_title) lns.concat(@address_lines) lns.push(@location, @country) if @email lns.push "To: #@email" unless emails_cc.empty? lns.push "Cc: #{emails_cc.join(', ')}" end end lns.compact! lns end
autoinvoice(unique_id)
click to toggle source
# File lib/ydim/debitor.rb, line 18 def autoinvoice(unique_id) @autoinvoices.find { |invoice| invoice.unique_id == unique_id } end
autoinvoice_infos()
click to toggle source
# File lib/ydim/debitor.rb, line 21 def autoinvoice_infos @autoinvoices.collect { |inv| inv.info } end
delete_autoinvoice(invoice)
click to toggle source
# File lib/ydim/debitor.rb, line 48 def delete_autoinvoice(invoice) @autoinvoices.delete(invoice) end
delete_invoice(invoice)
click to toggle source
# File lib/ydim/debitor.rb, line 51 def delete_invoice(invoice) @invoices.delete(invoice) end
emails()
click to toggle source
# File lib/ydim/debitor.rb, line 60 def emails [ @email ].concat(emails_cc).compact end
emails=(emails)
click to toggle source
# File lib/ydim/debitor.rb, line 63 def emails=(emails) @email = emails.shift @emails_cc = emails emails end
emails_cc()
click to toggle source
# File lib/ydim/debitor.rb, line 54 def emails_cc @emails_cc ||= [] end
emails_cc=(emails)
click to toggle source
# File lib/ydim/debitor.rb, line 57 def emails_cc=(emails) @emails_cc = emails end
foreign?()
click to toggle source
# File lib/ydim/debitor.rb, line 68 def foreign? @country && !@country.to_s.strip.empty? \ && @country != Server.config.home_country end
invoice(unique_id)
click to toggle source
# File lib/ydim/debitor.rb, line 72 def invoice(unique_id) @invoices.find { |invoice| invoice.unique_id == unique_id } end
invoice_infos(status)
click to toggle source
# File lib/ydim/debitor.rb, line 75 def invoice_infos(status) @invoices.select { |inv| inv.status == status }.collect { |inv| inv.info } end
next_invoice_date()
click to toggle source
# File lib/ydim/debitor.rb, line 80 def next_invoice_date @autoinvoices.collect { |inv| inv.date }.compact.min end