class SalesforceAdapter::Operations::Base
Attributes
rforce_binding[R]
Public Class Methods
new(rforce_binding)
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 26 def initialize(rforce_binding) @rforce_binding = rforce_binding end
Public Instance Methods
run()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 31 def run validate_request! Helpers.handle_timeout(:max_tries => 4, :sleep_between_tries => 5) do @response = perform end validate_response! format_response end
Private Instance Methods
context()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 46 def context "No context given" end
format_response()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 72 def format_response # Nothing by default @response end
perform!()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 54 def perform! raise NotImplementedError.new("Must be defined in subclass") end
validate_request!()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 50 def validate_request! # nothing by default... end
validate_response!()
click to toggle source
# File lib/salesforce_adapter/operations/base.rb, line 58 def validate_response! # Check for API errors and raise them if @response[:Fault] fault_code = @response[:Fault][:faultcode] # "sf:MALFORMED_QUERY" fault_details = @response[:Fault][:faultstring] message = "Salesforce API Fault : #{fault_details}.\nContext : #{context}" raise SalesforceApiFault.new(fault_code), message end end