class Salesforce::Bulk::UpsertJob
Attributes
external_id_col[RW]
Public Class Methods
new(object_type, external_id_col, columns = :all)
click to toggle source
Calls superclass method
Salesforce::Bulk::Job::new
# File lib/salesforce/bulk/upsert_job.rb, line 7 def initialize(object_type, external_id_col, columns = :all) super(object_type, 'upsert', columns) self.external_id_col = object_type.columns.find { |scol| scol.name == external_id_col.to_s } raise UnrecognizedColumn.new("#{external_id_col} is not a valid column.") unless self.external_id_col end
Public Instance Methods
create_job_xml()
click to toggle source
# File lib/salesforce/bulk/upsert_job.rb, line 26 def create_job_xml job_xml do |job_info| job_info.operation self.operation job_info.object self.object job_info.externalIdFieldName self.external_id_col.original_name job_info.contentType "CSV" end end
csv_columns()
click to toggle source
# File lib/salesforce/bulk/upsert_job.rb, line 13 def csv_columns if columns.blank? || columns == :all ([self.external_id_col] + object_type.columns.editable).uniq else cols = columns.map do |col| sf_col = object_type.columns.find { |scol| scol.name == col.to_s } raise UnrecognizedColumn.new("#{col} is not a valid column.") unless sf_col sf_col end ([self.external_id_col] + cols).uniq end end