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