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