class Restforce::Bulk::Client
Public Class Methods
new(restforce_client=nil)
click to toggle source
# File lib/restforce/bulk/client.rb, line 4 def initialize(restforce_client=nil) @restforce_client = restforce_client end
Public Instance Methods
connection()
click to toggle source
# File lib/restforce/bulk/client.rb, line 8 def connection @connection ||= (@restforce_client || Restforce.new).tap do |client| client.authenticate! client.middleware.insert_after Restforce::Middleware::Authorization, Restforce::Bulk::Middleware::Authorization, client, client.options client.middleware.response :xml, content_type: /\bxml$/ client.middleware.use Restforce::Bulk::Middleware::ParseCsv, content_type: /\bcsv$/ end end
perform_request(method, path, data=nil, content_type=:xml, headers={})
click to toggle source
# File lib/restforce/bulk/client.rb, line 17 def perform_request(method, path, data=nil, content_type=:xml, headers={}) result_headers = content_type_header_for(content_type).merge(headers) connection.send(method, [base_path, path].join('/'), data, result_headers) end
Private Instance Methods
base_path()
click to toggle source
# File lib/restforce/bulk/client.rb, line 25 def base_path @base_path ||= "/services/async/#{connection.options[:api_version]}" end
content_type_header_for(content_type)
click to toggle source
# File lib/restforce/bulk/client.rb, line 29 def content_type_header_for(content_type) { 'Content-Type' => "#{mime_type_for(content_type)} ;charset=UTF-8" } end
mime_type_for(content_type)
click to toggle source
# File lib/restforce/bulk/client.rb, line 33 def mime_type_for(content_type) Restforce::Bulk::MIME_TYPE_MAPPING[(content_type || :csv).to_sym] end