class Executrix::Connection

Attributes

raw_request[R]
raw_result[R]

Public Class Methods

connect(username, password, api_version, sandbox) click to toggle source
# File lib/executrix/connection.rb, line 112
def self.connect(username, password, api_version, sandbox)
  self.new(username, password, api_version, sandbox).login
end
new(username, password, api_version, sandbox) click to toggle source
# File lib/executrix/connection.rb, line 6
def initialize(username, password, api_version, sandbox)
  @username = username
  @password = password
  @api_version = api_version
  @sandbox = sandbox
end

Public Instance Methods

add_batch(job_id, records) click to toggle source
# File lib/executrix/connection.rb, line 100
def add_batch job_id, records
  return -1 if records.nil? || records.empty?
  @raw_request = Executrix::Helper.records_to_csv(records)

  Executrix::Http.add_batch(
    @instance,
    @session_id,
    job_id,
    @raw_request,
    @api_version)[:id]
end
add_file_upload_batch(job_id, filename) click to toggle source
# File lib/executrix/connection.rb, line 90
def add_file_upload_batch job_id, filename
  @raw_request = File.read(filename)
  Executrix::Http.add_file_upload_batch(
    @instance,
    @session_id,
    job_id,
    @raw_request,
    @api_version)[:id]
end
add_query(job_id, data_or_soql) click to toggle source
# File lib/executrix/connection.rb, line 49
def add_query job_id, data_or_soql
  Executrix::Http.add_batch(
    @instance,
    @session_id,
    job_id,
    data_or_soql,
    @api_version)[:id]
end
close_job(job_id) click to toggle source
# File lib/executrix/connection.rb, line 41
def close_job job_id
  Executrix::Http.close_job(
    @instance,
    @session_id,
    job_id,
    @api_version)[:id]
end
create_job(operation, sobject, content_type, external_field) click to toggle source
# File lib/executrix/connection.rb, line 30
def create_job operation, sobject, content_type, external_field
  Executrix::Http.create_job(
    @instance,
    @session_id,
    operation,
    sobject,
    content_type,
    @api_version,
    external_field)[:id]
end
login() click to toggle source
# File lib/executrix/connection.rb, line 13
def login
  response = Executrix::Http.login(
    @sandbox,
    @username,
    @password,
    @api_version)

  @session_id = response[:session_id]
  @instance = response[:instance]
  self
end
org_id() click to toggle source
# File lib/executrix/connection.rb, line 25
def org_id
  raise 'please login first' unless @session_id
  @session_id.split('!').first
end
query_batch(job_id, batch_id) click to toggle source
# File lib/executrix/connection.rb, line 58
def query_batch job_id, batch_id
  Executrix::Http.query_batch(
    @instance,
    @session_id,
    job_id,
    batch_id,
    @api_version,
  )
end
query_batch_result_data(job_id, batch_id, result_id) click to toggle source
# File lib/executrix/connection.rb, line 78
def query_batch_result_data job_id, batch_id, result_id
  @raw_result = Executrix::Http.query_batch_result_data(
    @instance,
    @session_id,
    job_id,
    batch_id,
    result_id,
    @api_version,
  )
  Executrix::Helper.parse_csv @raw_result
end
query_batch_result_id(job_id, batch_id) click to toggle source
# File lib/executrix/connection.rb, line 68
def query_batch_result_id job_id, batch_id
  Executrix::Http.query_batch_result_id(
    @instance,
    @session_id,
    job_id,
    batch_id,
    @api_version,
  )
end