Class: SalesforceBulkApi::Api

Inherits:
Object
  • Object
show all
Defined in:
lib/salesforce_bulk_api.rb

Constant Summary collapse

@@SALESFORCE_API_VERSION =
'23.0'

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Api

Returns a new instance of Api.



17
18
19
# File 'lib/salesforce_bulk_api.rb', line 17

def initialize(client)
  @connection = SalesforceBulkApi::Connection.new(@@SALESFORCE_API_VERSION,client)
end

Instance Method Details

#create(sobject, records, get_response = false, send_nulls = false, batch_size = 10000, timeout = 1500) ⇒ Object



29
30
31
# File 'lib/salesforce_bulk_api.rb', line 29

def create(sobject, records, get_response = false, send_nulls = false, batch_size = 10000, timeout = 1500)
  self.do_operation('insert', sobject, records, nil, get_response, timeout, batch_size, send_nulls)
end

#delete(sobject, records, get_response = false, batch_size = 10000, timeout = 1500) ⇒ Object



33
34
35
# File 'lib/salesforce_bulk_api.rb', line 33

def delete(sobject, records, get_response = false, batch_size = 10000, timeout = 1500)
  self.do_operation('delete', sobject, records, nil, get_response, timeout, batch_size)
end

#do_operation(operation, sobject, records, external_field, get_response, timeout, batch_size, send_nulls = false, no_null_list = []) ⇒ Object

private



43
44
45
46
47
48
49
50
51
# File 'lib/salesforce_bulk_api.rb', line 43

def do_operation(operation, sobject, records, external_field, get_response, timeout, batch_size, send_nulls = false, no_null_list = [])
  job = SalesforceBulkApi::Job.new(operation, sobject, records, external_field, @connection)

  job.create_job(batch_size, send_nulls, no_null_list)
  operation == "query" ? job.add_query() : job.add_batches()
  response = job.close_job
  response.merge!({'batches' => job.get_job_result(get_response, timeout)}) if get_response == true
  response
end

#query(sobject, query, batch_size = 10000, timeout = 1500) ⇒ Object



37
38
39
# File 'lib/salesforce_bulk_api.rb', line 37

def query(sobject, query, batch_size = 10000, timeout = 1500)
  self.do_operation('query', sobject, query, nil, true, timeout, batch_size)
end

#update(sobject, records, get_response = false, send_nulls = false, no_null_list = [], batch_size = 10000, timeout = 1500) ⇒ Object



25
26
27
# File 'lib/salesforce_bulk_api.rb', line 25

def update(sobject, records, get_response = false, send_nulls = false, no_null_list = [], batch_size = 10000, timeout = 1500)
  self.do_operation('update', sobject, records, nil, get_response, timeout, batch_size, send_nulls, no_null_list)
end

#upsert(sobject, records, external_field, get_response = false, send_nulls = false, no_null_list = [], batch_size = 10000, timeout = 1500) ⇒ Object



21
22
23
# File 'lib/salesforce_bulk_api.rb', line 21

def upsert(sobject, records, external_field, get_response = false, send_nulls = false, no_null_list = [], batch_size = 10000, timeout = 1500)
  self.do_operation('upsert', sobject, records, external_field, get_response, timeout, batch_size, send_nulls, no_null_list)
end