lib/economic/proxies/debtor_proxy.rb in rconomic-0.2.1 vs lib/economic/proxies/debtor_proxy.rb in rconomic-0.3

- old
+ new

@@ -1,9 +1,20 @@ require 'economic/proxies/entity_proxy' module Economic class DebtorProxy < EntityProxy + + # Fetches Debtor from API + def find(handle) + handle = if handle.respond_to?(:to_i) + Entity::Handle.new(:number => handle.to_i) + else + Entity::Handle.new(handle) + end + super(handle) + end + # Returns Debtors that have the given ci_number. The Debtor objects will only be partially loaded def find_by_ci_number(ci_number) # Get a list of DebtorHandles from e-conomic response = session.request entity_class.soap_action('FindByCINumber') do soap.body = { @@ -23,11 +34,31 @@ debtor.number = handle[:number] debtor end end + # Returns handle with a given number. + def find_by_number(number) + response = session.request entity_class.soap_action('FindByNumber') do + soap.body = { + 'number' => number + } + end + + if response == {} + nil + else + debtor = build + debtor.partial = true + debtor.persisted = true + debtor.handle = response + debtor.number = response[:number].to_i + debtor + end + end + # Returns the next available debtor number def next_available_number session.request Debtor.soap_action(:get_next_available_number) end end -end \ No newline at end of file +end