class Economic::DebtorProxy

Public Instance Methods

get_current_invoices(debtor_handle) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 21
def get_current_invoices(debtor_handle)
  response = fetch_response(:get_current_invoices, debtor_handle)
  build_entities_from_response(
    Economic::CurrentInvoice,
    response[:current_invoice_handle]
  )
end
get_debtor_contacts(debtor_handle) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 29
def get_debtor_contacts(debtor_handle)
  response = fetch_response(:get_debtor_contacts, debtor_handle)
  build_entities_from_response(
    Economic::DebtorContact,
    response[:debtor_contact_handle]
  )
end
get_invoices(debtor_handle) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 37
def get_invoices(debtor_handle)
  response = fetch_response(:get_invoices, debtor_handle)
  build_entities_from_response(
    Economic::Invoice,
    response[:invoice_handle]
  )
end
get_orders(debtor_handle) click to toggle source

Returns handle for orders for debtor.

# File lib/economic/proxies/debtor_proxy.rb, line 46
def get_orders(debtor_handle)
  response = fetch_response(:get_orders, debtor_handle)
  build_entities_from_response(
    Economic::Order,
    response[:order_handle]
  )
end
next_available_number() click to toggle source

Returns the next available debtor number

# File lib/economic/proxies/debtor_proxy.rb, line 17
def next_available_number
  request :get_next_available_number
end

Private Instance Methods

add_id_to_entity(entity, id) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 68
def add_id_to_entity(entity, id)
  if entity.respond_to?(:number=)
    entity.number = id
  else
    entity.id = id
  end

  entity
end
build_entities_from_response(entity_class, handles) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 56
def build_entities_from_response(entity_class, handles)
  return nil if handles.nil?
  [handles].flatten.map do |handle|
    entity = entity_class.new(:session => session)
    entity.partial = true
    entity.persisted = true
    entity.handle = handle
    entity = add_id_to_entity(entity, handle[:id].to_i)
    entity
  end
end
fetch_response(operation, debtor_handle) click to toggle source
# File lib/economic/proxies/debtor_proxy.rb, line 78
def fetch_response(operation, debtor_handle)
  request(
    operation,
    "debtorHandle" => {"Number" => debtor_handle.number}
  )
end