class Economic::EntryProxy

Public Instance Methods

find(serial_number) click to toggle source
# File lib/economic/proxies/entry_proxy.rb, line 31
def find(serial_number)
  response = request("GetData", "entityHandle" => {
    "SerialNumber" => serial_number
  })

  build(response)
end
find_by_date_interval(from_date, to_date) click to toggle source
# File lib/economic/proxies/entry_proxy.rb, line 7
def find_by_date_interval(from_date, to_date)
  response = request("FindByDateInterval", "fromDate" => from_date,
                                           "toDate" => to_date)

  build_array(response)
end
find_by_serial_number_interval(min_number, max_number) click to toggle source

Undocumented tip: if you only care about the min_number, pass in the maximum possible value as max_number so you don't have to call `get_last_used_serial_number`:

max_number = 2**31 - 1  # Maximum int32.
# File lib/economic/proxies/entry_proxy.rb, line 19
def find_by_serial_number_interval(min_number, max_number)
  response = request("FindBySerialNumberInterval", "minNumber" => min_number,
                                                   "maxNumber" => max_number)

  build_array(response)
end
get_last_used_serial_number() click to toggle source
# File lib/economic/proxies/entry_proxy.rb, line 26
def get_last_used_serial_number
  response = request("GetLastUsedSerialNumber")
  response.to_i
end

Private Instance Methods

build_array(response) click to toggle source
# File lib/economic/proxies/entry_proxy.rb, line 41
def build_array(response)
  # The response[:entry_handle] format may be any of
  #   [{:serial_number=>"1"}, {:serial_number=>"2"}]  # Many results.
  #   {:serial_number=>"1"}                           # One result.
  #   nil                                             # No results.
  entry_handles = [response[:entry_handle]].flatten.compact

  entry_handles.map do |entry_handle|
    entry_handle[:serial_number].to_i
  end
end