Method: FreshdeskAPI::Collection#handle_response

Defined in:
lib/freshdesk_api/collection.rb

#handle_response(response_body) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/freshdesk_api/collection.rb', line 54

def handle_response(response_body)
  results = MultiJson.load(response_body, symbolize_keys: true)

  if results.is_a?(Hash)
    results = FreshdeskAPI::Helpers.deep_hash_access(results, @resource_class.collection_namespace)
  elsif results.is_a?(Array)
    results = results.map { |r| r[@resource_class.collection_namespace.to_sym] }
  else
    raise "Expected a Hash or Array for response body, got #{result.inspect}"
  end

  @resources = results.map do |res|
    wrap_resource(res)
  end
end