restforce 3.0.1 → 5.1.1

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.
Files changed (72) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +9 -9
  3. data/.github/ISSUE_TEMPLATE/unhandled-salesforce-error.md +17 -0
  4. data/.github/dependabot.yml +19 -0
  5. data/.rubocop.yml +13 -14
  6. data/.rubocop_todo.yml +128 -81
  7. data/CHANGELOG.md +107 -1
  8. data/CONTRIBUTING.md +21 -1
  9. data/Dockerfile +31 -0
  10. data/Gemfile +10 -6
  11. data/README.md +168 -31
  12. data/UPGRADING.md +38 -0
  13. data/docker-compose.yml +7 -0
  14. data/lib/restforce/abstract_client.rb +1 -0
  15. data/lib/restforce/attachment.rb +1 -0
  16. data/lib/restforce/collection.rb +7 -2
  17. data/lib/restforce/concerns/api.rb +10 -7
  18. data/lib/restforce/concerns/authentication.rb +10 -0
  19. data/lib/restforce/concerns/base.rb +4 -2
  20. data/lib/restforce/concerns/batch_api.rb +87 -0
  21. data/lib/restforce/concerns/caching.rb +7 -0
  22. data/lib/restforce/concerns/canvas.rb +1 -0
  23. data/lib/restforce/concerns/connection.rb +3 -3
  24. data/lib/restforce/concerns/picklists.rb +4 -3
  25. data/lib/restforce/concerns/streaming.rb +73 -3
  26. data/lib/restforce/config.rb +8 -1
  27. data/lib/restforce/document.rb +1 -0
  28. data/lib/restforce/error_code.rb +638 -0
  29. data/lib/restforce/file_part.rb +24 -0
  30. data/lib/restforce/mash.rb +8 -3
  31. data/lib/restforce/middleware/authentication/jwt_bearer.rb +38 -0
  32. data/lib/restforce/middleware/authentication.rb +7 -3
  33. data/lib/restforce/middleware/caching.rb +1 -1
  34. data/lib/restforce/middleware/instance_url.rb +1 -1
  35. data/lib/restforce/middleware/logger.rb +8 -7
  36. data/lib/restforce/middleware/multipart.rb +1 -0
  37. data/lib/restforce/middleware/raise_error.rb +24 -9
  38. data/lib/restforce/middleware.rb +2 -0
  39. data/lib/restforce/signed_request.rb +1 -0
  40. data/lib/restforce/sobject.rb +1 -0
  41. data/lib/restforce/tooling/client.rb +3 -3
  42. data/lib/restforce/version.rb +1 -1
  43. data/lib/restforce.rb +21 -3
  44. data/restforce.gemspec +11 -20
  45. data/spec/fixtures/test_private.key +27 -0
  46. data/spec/integration/abstract_client_spec.rb +83 -33
  47. data/spec/integration/data/client_spec.rb +6 -2
  48. data/spec/spec_helper.rb +24 -1
  49. data/spec/support/client_integration.rb +7 -7
  50. data/spec/support/concerns.rb +1 -1
  51. data/spec/support/fixture_helpers.rb +3 -5
  52. data/spec/support/middleware.rb +1 -2
  53. data/spec/unit/collection_spec.rb +20 -2
  54. data/spec/unit/concerns/api_spec.rb +12 -12
  55. data/spec/unit/concerns/authentication_spec.rb +39 -4
  56. data/spec/unit/concerns/batch_api_spec.rb +107 -0
  57. data/spec/unit/concerns/caching_spec.rb +26 -0
  58. data/spec/unit/concerns/connection_spec.rb +2 -2
  59. data/spec/unit/concerns/streaming_spec.rb +144 -4
  60. data/spec/unit/config_spec.rb +1 -1
  61. data/spec/unit/error_code_spec.rb +61 -0
  62. data/spec/unit/mash_spec.rb +5 -0
  63. data/spec/unit/middleware/authentication/jwt_bearer_spec.rb +62 -0
  64. data/spec/unit/middleware/authentication/password_spec.rb +2 -2
  65. data/spec/unit/middleware/authentication/token_spec.rb +2 -2
  66. data/spec/unit/middleware/authentication_spec.rb +31 -4
  67. data/spec/unit/middleware/gzip_spec.rb +2 -2
  68. data/spec/unit/middleware/raise_error_spec.rb +57 -17
  69. data/spec/unit/signed_request_spec.rb +1 -1
  70. data/spec/unit/sobject_spec.rb +2 -5
  71. metadata +39 -108
  72. data/lib/restforce/upload_io.rb +0 -9
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 5.1.1
5
5
  platform: ruby
6
6
  authors:
7
- - Eric J. Holmes
8
7
  - Tim Rogers
9
- autorequire:
8
+ - Eric J. Holmes
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-08-04 00:00:00.000000000 Z
12
+ date: 2021-10-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -17,7 +17,7 @@ dependencies:
17
17
  requirements:
18
18
  - - "<="
19
19
  - !ruby/object:Gem::Version
20
- version: '1.0'
20
+ version: '2.0'
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.9.0
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - "<="
29
29
  - !ruby/object:Gem::Version
30
- version: '1.0'
30
+ version: '2.0'
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.9.0
@@ -40,7 +40,7 @@ dependencies:
40
40
  version: 0.8.8
41
41
  - - "<="
42
42
  - !ruby/object:Gem::Version
43
- version: '1.0'
43
+ version: '2.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -50,21 +50,7 @@ dependencies:
50
50
  version: 0.8.8
51
51
  - - "<="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.0'
54
- - !ruby/object:Gem::Dependency
55
- name: json
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 1.7.5
61
- type: :runtime
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: 1.7.5
53
+ version: '2.0'
68
54
  - !ruby/object:Gem::Dependency
69
55
  name: hashie
70
56
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +60,7 @@ dependencies:
74
60
  version: 1.2.0
75
61
  - - "<"
76
62
  - !ruby/object:Gem::Version
77
- version: '4.0'
63
+ version: '5.0'
78
64
  type: :runtime
79
65
  prerelease: false
80
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -84,111 +70,46 @@ dependencies:
84
70
  version: 1.2.0
85
71
  - - "<"
86
72
  - !ruby/object:Gem::Version
87
- version: '4.0'
88
- - !ruby/object:Gem::Dependency
89
- name: rspec
90
- requirement: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - "~>"
93
- - !ruby/object:Gem::Version
94
- version: 2.14.0
95
- type: :development
96
- prerelease: false
97
- version_requirements: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - "~>"
100
- - !ruby/object:Gem::Version
101
- version: 2.14.0
102
- - !ruby/object:Gem::Dependency
103
- name: webmock
104
- requirement: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - "~>"
107
- - !ruby/object:Gem::Version
108
- version: 3.4.0
109
- type: :development
110
- prerelease: false
111
- version_requirements: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: 3.4.0
116
- - !ruby/object:Gem::Dependency
117
- name: simplecov
118
- requirement: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: 0.15.0
123
- type: :development
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: 0.15.0
73
+ version: '5.0'
130
74
  - !ruby/object:Gem::Dependency
131
- name: rubocop
132
- requirement: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: 0.50.0
137
- type: :development
138
- prerelease: false
139
- version_requirements: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - "~>"
142
- - !ruby/object:Gem::Version
143
- version: 0.50.0
144
- - !ruby/object:Gem::Dependency
145
- name: rspec_junit_formatter
146
- requirement: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - "~>"
149
- - !ruby/object:Gem::Version
150
- version: 0.3.0
151
- type: :development
152
- prerelease: false
153
- version_requirements: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: 0.3.0
158
- - !ruby/object:Gem::Dependency
159
- name: faye
75
+ name: jwt
160
76
  requirement: !ruby/object:Gem::Requirement
161
77
  requirements:
162
78
  - - ">="
163
79
  - !ruby/object:Gem::Version
164
- version: '0'
165
- type: :development
80
+ version: 1.5.6
81
+ type: :runtime
166
82
  prerelease: false
167
83
  version_requirements: !ruby/object:Gem::Requirement
168
84
  requirements:
169
85
  - - ">="
170
86
  - !ruby/object:Gem::Version
171
- version: '0'
172
- description: A lightweight ruby client for the Salesforce REST API.
87
+ version: 1.5.6
88
+ description: A lightweight Ruby client for the Salesforce REST API
173
89
  email:
90
+ - me@timrogers.co.uk
174
91
  - eric@ejholmes.net
175
- - tim@gocardless.com
176
92
  executables: []
177
93
  extensions: []
178
94
  extra_rdoc_files: []
179
95
  files:
180
96
  - ".circleci/config.yml"
97
+ - ".github/ISSUE_TEMPLATE/unhandled-salesforce-error.md"
98
+ - ".github/dependabot.yml"
181
99
  - ".gitignore"
182
100
  - ".rubocop.yml"
183
101
  - ".rubocop_todo.yml"
184
102
  - CHANGELOG.md
185
103
  - CODE_OF_CONDUCT.md
186
104
  - CONTRIBUTING.md
105
+ - Dockerfile
187
106
  - Gemfile
188
107
  - Guardfile
189
108
  - LICENSE
190
109
  - README.md
191
110
  - Rakefile
111
+ - UPGRADING.md
112
+ - docker-compose.yml
192
113
  - lib/restforce.rb
193
114
  - lib/restforce/abstract_client.rb
194
115
  - lib/restforce/attachment.rb
@@ -197,6 +118,7 @@ files:
197
118
  - lib/restforce/concerns/api.rb
198
119
  - lib/restforce/concerns/authentication.rb
199
120
  - lib/restforce/concerns/base.rb
121
+ - lib/restforce/concerns/batch_api.rb
200
122
  - lib/restforce/concerns/caching.rb
201
123
  - lib/restforce/concerns/canvas.rb
202
124
  - lib/restforce/concerns/connection.rb
@@ -206,9 +128,12 @@ files:
206
128
  - lib/restforce/config.rb
207
129
  - lib/restforce/data/client.rb
208
130
  - lib/restforce/document.rb
131
+ - lib/restforce/error_code.rb
132
+ - lib/restforce/file_part.rb
209
133
  - lib/restforce/mash.rb
210
134
  - lib/restforce/middleware.rb
211
135
  - lib/restforce/middleware/authentication.rb
136
+ - lib/restforce/middleware/authentication/jwt_bearer.rb
212
137
  - lib/restforce/middleware/authentication/password.rb
213
138
  - lib/restforce/middleware/authentication/token.rb
214
139
  - lib/restforce/middleware/authorization.rb
@@ -224,7 +149,6 @@ files:
224
149
  - lib/restforce/signed_request.rb
225
150
  - lib/restforce/sobject.rb
226
151
  - lib/restforce/tooling/client.rb
227
- - lib/restforce/upload_io.rb
228
152
  - lib/restforce/version.rb
229
153
  - restforce.gemspec
230
154
  - script/bootstrap
@@ -265,6 +189,7 @@ files:
265
189
  - spec/fixtures/sobject/upsert_multiple_error_response.json
266
190
  - spec/fixtures/sobject/upsert_updated_success_response.json
267
191
  - spec/fixtures/sobject/write_error_response.json
192
+ - spec/fixtures/test_private.key
268
193
  - spec/integration/abstract_client_spec.rb
269
194
  - spec/integration/data/client_spec.rb
270
195
  - spec/spec_helper.rb
@@ -281,6 +206,7 @@ files:
281
206
  - spec/unit/concerns/api_spec.rb
282
207
  - spec/unit/concerns/authentication_spec.rb
283
208
  - spec/unit/concerns/base_spec.rb
209
+ - spec/unit/concerns/batch_api_spec.rb
284
210
  - spec/unit/concerns/caching_spec.rb
285
211
  - spec/unit/concerns/canvas_spec.rb
286
212
  - spec/unit/concerns/connection_spec.rb
@@ -288,7 +214,9 @@ files:
288
214
  - spec/unit/config_spec.rb
289
215
  - spec/unit/data/client_spec.rb
290
216
  - spec/unit/document_spec.rb
217
+ - spec/unit/error_code_spec.rb
291
218
  - spec/unit/mash_spec.rb
219
+ - spec/unit/middleware/authentication/jwt_bearer_spec.rb
292
220
  - spec/unit/middleware/authentication/password_spec.rb
293
221
  - spec/unit/middleware/authentication/token_spec.rb
294
222
  - spec/unit/middleware/authentication_spec.rb
@@ -302,13 +230,13 @@ files:
302
230
  - spec/unit/signed_request_spec.rb
303
231
  - spec/unit/sobject_spec.rb
304
232
  - spec/unit/tooling/client_spec.rb
305
- homepage: http://restforce.org/
233
+ homepage: https://restforce.github.io/
306
234
  licenses:
307
235
  - MIT
308
236
  metadata:
309
237
  source_code_uri: https://github.com/restforce/restforce
310
238
  changelog_uri: https://github.com/restforce/restforce/blob/master/CHANGELOG.md
311
- post_install_message:
239
+ post_install_message:
312
240
  rdoc_options: []
313
241
  require_paths:
314
242
  - lib
@@ -316,18 +244,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
316
244
  requirements:
317
245
  - - ">="
318
246
  - !ruby/object:Gem::Version
319
- version: '2.3'
247
+ version: '2.6'
320
248
  required_rubygems_version: !ruby/object:Gem::Requirement
321
249
  requirements:
322
250
  - - ">="
323
251
  - !ruby/object:Gem::Version
324
252
  version: '0'
325
253
  requirements: []
326
- rubyforge_project:
327
- rubygems_version: 2.6.14.1
328
- signing_key:
254
+ rubygems_version: 3.2.22
255
+ signing_key:
329
256
  specification_version: 4
330
- summary: A lightweight ruby client for the Salesforce REST API.
257
+ summary: A lightweight Ruby client for the Salesforce REST API
331
258
  test_files:
332
259
  - spec/fixtures/auth_error_response.json
333
260
  - spec/fixtures/auth_success_response.json
@@ -363,6 +290,7 @@ test_files:
363
290
  - spec/fixtures/sobject/upsert_multiple_error_response.json
364
291
  - spec/fixtures/sobject/upsert_updated_success_response.json
365
292
  - spec/fixtures/sobject/write_error_response.json
293
+ - spec/fixtures/test_private.key
366
294
  - spec/integration/abstract_client_spec.rb
367
295
  - spec/integration/data/client_spec.rb
368
296
  - spec/spec_helper.rb
@@ -379,6 +307,7 @@ test_files:
379
307
  - spec/unit/concerns/api_spec.rb
380
308
  - spec/unit/concerns/authentication_spec.rb
381
309
  - spec/unit/concerns/base_spec.rb
310
+ - spec/unit/concerns/batch_api_spec.rb
382
311
  - spec/unit/concerns/caching_spec.rb
383
312
  - spec/unit/concerns/canvas_spec.rb
384
313
  - spec/unit/concerns/connection_spec.rb
@@ -386,7 +315,9 @@ test_files:
386
315
  - spec/unit/config_spec.rb
387
316
  - spec/unit/data/client_spec.rb
388
317
  - spec/unit/document_spec.rb
318
+ - spec/unit/error_code_spec.rb
389
319
  - spec/unit/mash_spec.rb
320
+ - spec/unit/middleware/authentication/jwt_bearer_spec.rb
390
321
  - spec/unit/middleware/authentication/password_spec.rb
391
322
  - spec/unit/middleware/authentication/token_spec.rb
392
323
  - spec/unit/middleware/authentication_spec.rb
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'faraday/upload_io'
4
-
5
- module Restforce
6
- UploadIO = Faraday::UploadIO
7
- end
8
-
9
- require 'restforce/patches/parts' unless Parts::Part.method(:new).arity.abs == 4