module Salesforce::Connection

Public Class Methods

as_logged_in_user(&block) click to toggle source
# File lib/salesforce/connection.rb, line 15
def self.as_logged_in_user(&block)
  count = 0
  begin
    Salesforce::Authentication.session_id
    block.call
  rescue RestClient::Unauthorized, Savon::SOAPFault => e
    if count < 1 && (e.message.downcase.include?("unauthorized") || e.message.downcase.include?("invalid_login"))
      count += 1
      Salesforce::Config.on_login_failure
      Salesforce::Authentication.logout
      retry
    else
      raise e
    end
  end

end