class Restforce::Bulk::Batch
Attributes
created_date[RW]
id[RW]
job_id[RW]
number_records_processed[RW]
state[RW]
system_modstamp[RW]
Public Class Methods
builder_class_for(content_type)
click to toggle source
# File lib/restforce/bulk/batch.rb, line 19 def builder_class_for(content_type) Restforce::Bulk::Builder.const_get(content_type.to_s.camelize) end
create(job_id, data, operation, content_type=:xml)
click to toggle source
# File lib/restforce/bulk/batch.rb, line 7 def create(job_id, data, operation, content_type=:xml) builder = builder_class_for(content_type).new(operation) response = Restforce::Bulk.client.perform_request(:post, "job/#{job_id}/batch", builder.transform(data, operation, content_type), content_type) new(response.body.batchInfo) end
find(job_id, id)
click to toggle source
# File lib/restforce/bulk/batch.rb, line 15 def find(job_id, id) new(job_id: job_id, id: id).tap(&:refresh) end
new(attributes={})
click to toggle source
# File lib/restforce/bulk/batch.rb, line 26 def initialize(attributes={}) assign_attributes(attributes) end
Public Instance Methods
completed?()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 38 def completed? state == 'Completed' end
failed?()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 42 def failed? state == 'Failed' end
in_progress?()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 34 def in_progress? state == 'InProgress' end
not_processed?()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 46 def not_processed? state == 'Not Processed' end
queued?()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 30 def queued? state == 'Queued' end
refresh()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 50 def refresh response = Restforce::Bulk.client.perform_request(:get, "job/#{job_id}/batch/#{id}") assign_attributes(response.body.batchInfo) end
results()
click to toggle source
# File lib/restforce/bulk/batch.rb, line 56 def results response = Restforce::Bulk.client.perform_request(:get, "job/#{job_id}/batch/#{id}/result") parser = results_parser_for(response.body).new parser.results_on(response.body).map do |result| Restforce::Bulk::Result.new({job_id: job_id, batch_id: id}.merge(result)) end end
Protected Instance Methods
results_parser_for(body)
click to toggle source
# File lib/restforce/bulk/batch.rb, line 67 def results_parser_for(body) body.is_a?(CSV::Table) ? Restforce::Bulk::Parser::Csv : Restforce::Bulk::Parser::Xml end