Sha256: 378ff1695ff80d08cf44eb630c00111bef1ce08f2a0426ff2cd43290f4319614
Contents?: true
Size: 1.77 KB
Versions: 3
Compression:
Stored size: 1.77 KB
Contents
require "economic/proxies/entity_proxy" require "economic/proxies/actions/find_by_ci_number" require "economic/proxies/actions/find_by_handle_with_number" require "economic/proxies/actions/find_by_number" require "economic/proxies/actions/find_by_telephone_and_fax_number" module Economic class DebtorProxy < EntityProxy include FindByCiNumber include FindByHandleWithNumber include FindByNumber include FindByTelephoneAndFaxNumber # Returns the next available debtor number def next_available_number request :get_next_available_number end 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 def get_invoices(debtor_handle) response = fetch_response(:get_invoices, debtor_handle) build_entities_from_response( Economic::Invoice, response[:invoice_handle] ) end # Returns handle for orders for debtor. def get_orders(debtor_handle) response = fetch_response(:get_orders, debtor_handle) build_entities_from_response( Economic::Order, response[:order_handle] ) end private 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.number = handle[:id].to_i entity end end def fetch_response(operation, debtor_handle) request( operation, "debtorHandle" => {"Number" => debtor_handle.number} ) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rconomic-0.7.0 | lib/economic/proxies/debtor_proxy.rb |
rconomic-0.6.1 | lib/economic/proxies/debtor_proxy.rb |
rconomic-0.6.0 | lib/economic/proxies/debtor_proxy.rb |