restforce 4.2.1 → 5.2.0

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 (57) hide show
  1. checksums.yaml +4 -4
  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 +5 -4
  6. data/CHANGELOG.md +77 -0
  7. data/CONTRIBUTING.md +21 -1
  8. data/Dockerfile +31 -0
  9. data/Gemfile +10 -7
  10. data/README.md +94 -21
  11. data/UPGRADING.md +38 -0
  12. data/docker-compose.yml +7 -0
  13. data/lib/restforce/abstract_client.rb +1 -0
  14. data/lib/restforce/collection.rb +22 -3
  15. data/lib/restforce/concerns/api.rb +2 -2
  16. data/lib/restforce/concerns/base.rb +2 -2
  17. data/lib/restforce/concerns/caching.rb +7 -0
  18. data/lib/restforce/concerns/composite_api.rb +104 -0
  19. data/lib/restforce/concerns/picklists.rb +2 -2
  20. data/lib/restforce/concerns/streaming.rb +1 -3
  21. data/lib/restforce/config.rb +4 -1
  22. data/lib/restforce/error_code.rb +638 -0
  23. data/lib/restforce/file_part.rb +24 -0
  24. data/lib/restforce/mash.rb +8 -3
  25. data/lib/restforce/middleware/caching.rb +1 -1
  26. data/lib/restforce/middleware/logger.rb +8 -7
  27. data/lib/restforce/middleware/raise_error.rb +3 -4
  28. data/lib/restforce/middleware.rb +2 -0
  29. data/lib/restforce/version.rb +1 -1
  30. data/lib/restforce.rb +6 -7
  31. data/restforce.gemspec +9 -19
  32. data/spec/integration/abstract_client_spec.rb +41 -32
  33. data/spec/integration/data/client_spec.rb +6 -2
  34. data/spec/spec_helper.rb +24 -1
  35. data/spec/support/client_integration.rb +7 -7
  36. data/spec/support/concerns.rb +1 -1
  37. data/spec/support/fixture_helpers.rb +1 -3
  38. data/spec/support/middleware.rb +1 -2
  39. data/spec/unit/collection_spec.rb +20 -2
  40. data/spec/unit/concerns/api_spec.rb +11 -11
  41. data/spec/unit/concerns/authentication_spec.rb +6 -6
  42. data/spec/unit/concerns/caching_spec.rb +26 -0
  43. data/spec/unit/concerns/composite_api_spec.rb +143 -0
  44. data/spec/unit/concerns/connection_spec.rb +2 -2
  45. data/spec/unit/concerns/streaming_spec.rb +3 -3
  46. data/spec/unit/config_spec.rb +1 -1
  47. data/spec/unit/error_code_spec.rb +61 -0
  48. data/spec/unit/mash_spec.rb +5 -0
  49. data/spec/unit/middleware/authentication/jwt_bearer_spec.rb +4 -4
  50. data/spec/unit/middleware/authentication/password_spec.rb +2 -2
  51. data/spec/unit/middleware/authentication/token_spec.rb +2 -2
  52. data/spec/unit/middleware/authentication_spec.rb +11 -5
  53. data/spec/unit/middleware/gzip_spec.rb +2 -2
  54. data/spec/unit/middleware/raise_error_spec.rb +29 -10
  55. data/spec/unit/signed_request_spec.rb +1 -1
  56. metadata +36 -123
  57. data/lib/restforce/upload_io.rb +0 -9
metadata CHANGED
@@ -1,36 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.1
4
+ version: 5.2.0
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: 2019-12-04 00:00:00.000000000 Z
12
+ date: 2021-10-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
+ - - "<="
19
+ - !ruby/object:Gem::Version
20
+ version: '2.0'
18
21
  - - ">="
19
22
  - !ruby/object:Gem::Version
20
23
  version: 0.9.0
21
- - - "<="
22
- - !ruby/object:Gem::Version
23
- version: '1.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
+ - - "<="
29
+ - !ruby/object:Gem::Version
30
+ version: '2.0'
28
31
  - - ">="
29
32
  - !ruby/object:Gem::Version
30
33
  version: 0.9.0
31
- - - "<="
32
- - !ruby/object:Gem::Version
33
- version: '1.0'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: faraday_middleware
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -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,35 +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
68
- - !ruby/object:Gem::Dependency
69
- name: jwt
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 1.5.6
75
- type: :runtime
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: 1.5.6
53
+ version: '2.0'
82
54
  - !ruby/object:Gem::Dependency
83
55
  name: hashie
84
56
  requirement: !ruby/object:Gem::Requirement
@@ -100,109 +72,44 @@ dependencies:
100
72
  - !ruby/object:Gem::Version
101
73
  version: '5.0'
102
74
  - !ruby/object:Gem::Dependency
103
- name: faye
75
+ name: jwt
104
76
  requirement: !ruby/object:Gem::Requirement
105
77
  requirements:
106
78
  - - ">="
107
79
  - !ruby/object:Gem::Version
108
- version: '0'
109
- type: :development
80
+ version: 1.5.6
81
+ type: :runtime
110
82
  prerelease: false
111
83
  version_requirements: !ruby/object:Gem::Requirement
112
84
  requirements:
113
85
  - - ">="
114
86
  - !ruby/object:Gem::Version
115
- version: '0'
116
- - !ruby/object:Gem::Dependency
117
- name: rspec
118
- requirement: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: 2.14.0
123
- type: :development
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: 2.14.0
130
- - !ruby/object:Gem::Dependency
131
- name: rspec_junit_formatter
132
- requirement: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: 0.4.1
137
- type: :development
138
- prerelease: false
139
- version_requirements: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - "~>"
142
- - !ruby/object:Gem::Version
143
- version: 0.4.1
144
- - !ruby/object:Gem::Dependency
145
- name: rubocop
146
- requirement: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - "~>"
149
- - !ruby/object:Gem::Version
150
- version: 0.77.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.77.0
158
- - !ruby/object:Gem::Dependency
159
- name: simplecov
160
- requirement: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: 0.17.1
165
- type: :development
166
- prerelease: false
167
- version_requirements: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: 0.17.1
172
- - !ruby/object:Gem::Dependency
173
- name: webmock
174
- requirement: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - "~>"
177
- - !ruby/object:Gem::Version
178
- version: 3.7.6
179
- type: :development
180
- prerelease: false
181
- version_requirements: !ruby/object:Gem::Requirement
182
- requirements:
183
- - - "~>"
184
- - !ruby/object:Gem::Version
185
- version: 3.7.6
186
- 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
187
89
  email:
90
+ - me@timrogers.co.uk
188
91
  - eric@ejholmes.net
189
- - tim@gocardless.com
190
92
  executables: []
191
93
  extensions: []
192
94
  extra_rdoc_files: []
193
95
  files:
194
96
  - ".circleci/config.yml"
97
+ - ".github/ISSUE_TEMPLATE/unhandled-salesforce-error.md"
98
+ - ".github/dependabot.yml"
195
99
  - ".gitignore"
196
100
  - ".rubocop.yml"
197
101
  - ".rubocop_todo.yml"
198
102
  - CHANGELOG.md
199
103
  - CODE_OF_CONDUCT.md
200
104
  - CONTRIBUTING.md
105
+ - Dockerfile
201
106
  - Gemfile
202
107
  - Guardfile
203
108
  - LICENSE
204
109
  - README.md
205
110
  - Rakefile
111
+ - UPGRADING.md
112
+ - docker-compose.yml
206
113
  - lib/restforce.rb
207
114
  - lib/restforce/abstract_client.rb
208
115
  - lib/restforce/attachment.rb
@@ -214,6 +121,7 @@ files:
214
121
  - lib/restforce/concerns/batch_api.rb
215
122
  - lib/restforce/concerns/caching.rb
216
123
  - lib/restforce/concerns/canvas.rb
124
+ - lib/restforce/concerns/composite_api.rb
217
125
  - lib/restforce/concerns/connection.rb
218
126
  - lib/restforce/concerns/picklists.rb
219
127
  - lib/restforce/concerns/streaming.rb
@@ -221,6 +129,8 @@ files:
221
129
  - lib/restforce/config.rb
222
130
  - lib/restforce/data/client.rb
223
131
  - lib/restforce/document.rb
132
+ - lib/restforce/error_code.rb
133
+ - lib/restforce/file_part.rb
224
134
  - lib/restforce/mash.rb
225
135
  - lib/restforce/middleware.rb
226
136
  - lib/restforce/middleware/authentication.rb
@@ -240,7 +150,6 @@ files:
240
150
  - lib/restforce/signed_request.rb
241
151
  - lib/restforce/sobject.rb
242
152
  - lib/restforce/tooling/client.rb
243
- - lib/restforce/upload_io.rb
244
153
  - lib/restforce/version.rb
245
154
  - restforce.gemspec
246
155
  - script/bootstrap
@@ -301,11 +210,13 @@ files:
301
210
  - spec/unit/concerns/batch_api_spec.rb
302
211
  - spec/unit/concerns/caching_spec.rb
303
212
  - spec/unit/concerns/canvas_spec.rb
213
+ - spec/unit/concerns/composite_api_spec.rb
304
214
  - spec/unit/concerns/connection_spec.rb
305
215
  - spec/unit/concerns/streaming_spec.rb
306
216
  - spec/unit/config_spec.rb
307
217
  - spec/unit/data/client_spec.rb
308
218
  - spec/unit/document_spec.rb
219
+ - spec/unit/error_code_spec.rb
309
220
  - spec/unit/mash_spec.rb
310
221
  - spec/unit/middleware/authentication/jwt_bearer_spec.rb
311
222
  - spec/unit/middleware/authentication/password_spec.rb
@@ -321,13 +232,13 @@ files:
321
232
  - spec/unit/signed_request_spec.rb
322
233
  - spec/unit/sobject_spec.rb
323
234
  - spec/unit/tooling/client_spec.rb
324
- homepage: http://restforce.org/
235
+ homepage: https://restforce.github.io/
325
236
  licenses:
326
237
  - MIT
327
238
  metadata:
328
239
  source_code_uri: https://github.com/restforce/restforce
329
240
  changelog_uri: https://github.com/restforce/restforce/blob/master/CHANGELOG.md
330
- post_install_message:
241
+ post_install_message:
331
242
  rdoc_options: []
332
243
  require_paths:
333
244
  - lib
@@ -335,17 +246,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
246
  requirements:
336
247
  - - ">="
337
248
  - !ruby/object:Gem::Version
338
- version: '2.4'
249
+ version: '2.6'
339
250
  required_rubygems_version: !ruby/object:Gem::Requirement
340
251
  requirements:
341
252
  - - ">="
342
253
  - !ruby/object:Gem::Version
343
254
  version: '0'
344
255
  requirements: []
345
- rubygems_version: 3.0.3
346
- signing_key:
256
+ rubygems_version: 3.2.22
257
+ signing_key:
347
258
  specification_version: 4
348
- summary: A lightweight ruby client for the Salesforce REST API.
259
+ summary: A lightweight Ruby client for the Salesforce REST API
349
260
  test_files:
350
261
  - spec/fixtures/auth_error_response.json
351
262
  - spec/fixtures/auth_success_response.json
@@ -401,11 +312,13 @@ test_files:
401
312
  - spec/unit/concerns/batch_api_spec.rb
402
313
  - spec/unit/concerns/caching_spec.rb
403
314
  - spec/unit/concerns/canvas_spec.rb
315
+ - spec/unit/concerns/composite_api_spec.rb
404
316
  - spec/unit/concerns/connection_spec.rb
405
317
  - spec/unit/concerns/streaming_spec.rb
406
318
  - spec/unit/config_spec.rb
407
319
  - spec/unit/data/client_spec.rb
408
320
  - spec/unit/document_spec.rb
321
+ - spec/unit/error_code_spec.rb
409
322
  - spec/unit/mash_spec.rb
410
323
  - spec/unit/middleware/authentication/jwt_bearer_spec.rb
411
324
  - spec/unit/middleware/authentication/password_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