salesforce_bulk_api 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/salesforce_bulk_api/job.rb +24 -2
- data/lib/salesforce_bulk_api/version.rb +1 -1
- data/salesforce_bulk_api.gemspec +13 -11
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 419b46235cab1eda869135553b8f186bceef0d48
|
4
|
+
data.tar.gz: 52c4677c104986ae9c30fb5c342f4256f8613a1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ab2888d12f5493132ba2a6ea68eba8d771434072e041b138f2f08d68f379931668893c59a2300fe77172b5774db5cb8b039fb310dc79f906a65701be1d51427
|
7
|
+
data.tar.gz: d1f428ebaea54fca2aec2019620690aab946b8ee5e8eb3a3bb333446bdf94f56f9bb2f2a5d436a038190328c4aab01d8b77e5185309aa2dde3211f7d11184c59
|
@@ -31,7 +31,12 @@ module SalesforceBulkApi
|
|
31
31
|
|
32
32
|
response = @connection.post_xml(nil, path, xml, headers)
|
33
33
|
response_parsed = XmlSimple.xml_in(response)
|
34
|
-
|
34
|
+
|
35
|
+
begin
|
36
|
+
@job_id = response_parsed['jobInfo']['id']
|
37
|
+
rescue NoMethodError => e
|
38
|
+
Rails.logger.error "SalesforceBulkApi: #{response_parsed['error']['exceptionCode']}: #{response_parsed['error']['exceptionMessage']}"
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
def close_job()
|
@@ -86,10 +91,27 @@ module SalesforceBulkApi
|
|
86
91
|
response_parsed['id'][0] if response_parsed['id']
|
87
92
|
end
|
88
93
|
|
94
|
+
def build_sobject(data)
|
95
|
+
xml = '<sObject>'
|
96
|
+
data.keys.each do |k|
|
97
|
+
if k.is_a?(Hash)
|
98
|
+
xml += build_sobject(k)
|
99
|
+
elsif data[k] != :type
|
100
|
+
#xml += "<type>#{data[:type]}</type>"
|
101
|
+
xml += "<#{k}>#{data[k]}</#{k}>"
|
102
|
+
end
|
103
|
+
end
|
104
|
+
xml += '</sObject>'
|
105
|
+
end
|
106
|
+
|
89
107
|
def create_sobject(keys, r)
|
90
108
|
sobject_xml = '<sObject>'
|
91
109
|
keys.each do |k|
|
92
|
-
if
|
110
|
+
if r[k].is_a?(Hash)
|
111
|
+
sobject_xml += "<#{k}>"
|
112
|
+
sobject_xml += build_sobject(r[k])
|
113
|
+
sobject_xml += "</#{k}>"
|
114
|
+
elsif !r[k].to_s.empty?
|
93
115
|
sobject_xml += "<#{k}>"
|
94
116
|
if r[k].respond_to?(:encode)
|
95
117
|
sobject_xml += r[k].encode(:xml => :text)
|
data/salesforce_bulk_api.gemspec
CHANGED
@@ -3,27 +3,29 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require "salesforce_bulk_api/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'salesforce_bulk_api'
|
7
7
|
s.version = SalesforceBulkApi::VERSION
|
8
|
-
s.authors = [
|
9
|
-
s.email = [
|
8
|
+
s.authors = ['Yatish Mehta']
|
9
|
+
s.email = ['yatishmehta27@gmail.com']
|
10
10
|
|
11
|
-
s.homepage =
|
11
|
+
s.homepage = 'https://github.com/yatishmehta27/salesforce_bulk_api'
|
12
12
|
s.summary = %q{It uses the bulk api of salesforce to communicate with Salesforce CRM}
|
13
13
|
s.description = %q{Salesforce Bulk API with governor limits taken care of}
|
14
14
|
|
15
|
-
s.rubyforge_project =
|
15
|
+
s.rubyforge_project = 'salesforce_bulk_api'
|
16
16
|
|
17
|
-
s.add_dependency(%q<json>, [
|
18
|
-
s.add_dependency(%q<xml-simple>, [
|
17
|
+
s.add_dependency(%q<json>, ['>= 0'])
|
18
|
+
s.add_dependency(%q<xml-simple>, ['>= 0'])
|
19
|
+
|
20
|
+
s.add_development_dependency 'rspec'
|
21
|
+
s.add_development_dependency('webmock', ['~> 1.13'])
|
22
|
+
s.add_development_dependency('vcr', ['~> 2.5'])
|
23
|
+
s.add_development_dependency 'databasedotcom'
|
19
24
|
|
20
|
-
s.add_development_dependency "rspec"
|
21
|
-
s.add_development_dependency("webmock", ["~> 1.13"])
|
22
|
-
s.add_development_dependency("vcr", ['~> 2.5'])
|
23
25
|
|
24
26
|
s.files = `git ls-files`.split("\n")
|
25
27
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
28
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
|
-
s.require_paths = [
|
29
|
+
s.require_paths = ['lib']
|
28
30
|
|
29
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: salesforce_bulk_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yatish Mehta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.5'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: databasedotcom
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description: Salesforce Bulk API with governor limits taken care of
|
84
98
|
email:
|
85
99
|
- yatishmehta27@gmail.com
|
@@ -126,3 +140,4 @@ summary: It uses the bulk api of salesforce to communicate with Salesforce CRM
|
|
126
140
|
test_files:
|
127
141
|
- spec/salesforce_bulk_api/salesforce_bulk_api_spec.rb
|
128
142
|
- spec/spec_helper.rb
|
143
|
+
has_rdoc:
|