Module: Salesforce::Connection::Conversion::ClassMethods

Defined in:
lib/salesforce/connection/conversion.rb

Instance Method Summary collapse

Instance Method Details

#convert(body, options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/salesforce/connection/conversion.rb', line 18

def convert(body, options)
  if options[:format] == :json
    ActiveSupport::JSON.decode(body)
  elsif options[:format] == :xml
    result = Hash.from_xml(body)
    if result.is_a?(Hash) && result.keys.size == 1
      result[result.keys.first].with_indifferent_access
    else
      result.with_indifferent_access
    end
  else
    body
  end
end

#convert_body(response, options) ⇒ Object



7
8
9
# File 'lib/salesforce/connection/conversion.rb', line 7

def convert_body(response, options)
  convert(response.body, options)
end

#convert_error(error, url, options) ⇒ Object

Raises:



11
12
13
14
15
16
# File 'lib/salesforce/connection/conversion.rb', line 11

def convert_error(error, url, options)
  error_message = convert(error.http_body, options)
  error_message = error_message.first if error_message.is_a?(Array)
  error_message = error_message["Error"] if error_message.is_a?(Hash) && error_message["Error"]
  raise InvalidRequest.new(error_message, url)
end