File: databasedotcom/sales_force_error.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Databasedotcom#1
  class: SalesForceError#3
inherits from
  StandardError ( Builtin-Module )
has properties
attribute: response [RW] #5
attribute: error_code [RW] #7
method: initialize / 1 #9

Code

   1  module Databasedotcom
   2    # An exception raised when any non successful request is made to Force.com.
   3    class SalesForceError < StandardError
   4      # the Net::HTTPResponse from the API call
   5      attr_accessor :response
   6      # the +errorCode+ from the server response body
   7      attr_accessor :error_code
   8 
   9      def initialize(response)
  10        self.response = response
  11        parsed_body = JSON.parse(response.body) rescue nil
  12        if parsed_body
  13          if parsed_body.is_a?(Array)
  14            message = parsed_body[0]["message"]
  15            self.error_code = parsed_body[0]["errorCode"]
  16          else
  17            message = parsed_body["error_description"]
  18            self.error_code = parsed_body["error"]
  19          end
  20        else
  21          message = response.body
  22        end
  23        super(message)
  24      end
  25    end
  26  en