restforce 2.5.4 → 3.0.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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +56 -0
- data/.rubocop.yml +18 -3
- data/.rubocop_todo.yml +8 -8
- data/CHANGELOG.md +12 -3
- data/CONTRIBUTING.md +3 -3
- data/Gemfile +4 -2
- data/Guardfile +3 -1
- data/LICENSE +1 -1
- data/README.md +22 -16
- data/Rakefile +2 -1
- data/lib/restforce.rb +2 -0
- data/lib/restforce/abstract_client.rb +2 -0
- data/lib/restforce/attachment.rb +2 -0
- data/lib/restforce/client.rb +2 -0
- data/lib/restforce/collection.rb +3 -1
- data/lib/restforce/concerns/api.rb +11 -8
- data/lib/restforce/concerns/authentication.rb +2 -0
- data/lib/restforce/concerns/base.rb +2 -0
- data/lib/restforce/concerns/caching.rb +4 -2
- data/lib/restforce/concerns/canvas.rb +2 -0
- data/lib/restforce/concerns/connection.rb +26 -20
- data/lib/restforce/concerns/picklists.rb +7 -5
- data/lib/restforce/concerns/streaming.rb +2 -0
- data/lib/restforce/concerns/verbs.rb +3 -1
- data/lib/restforce/config.rb +3 -1
- data/lib/restforce/data/client.rb +2 -0
- data/lib/restforce/document.rb +2 -0
- data/lib/restforce/mash.rb +2 -0
- data/lib/restforce/middleware.rb +2 -0
- data/lib/restforce/middleware/authentication.rb +8 -6
- data/lib/restforce/middleware/authentication/password.rb +2 -0
- data/lib/restforce/middleware/authentication/token.rb +2 -0
- data/lib/restforce/middleware/authorization.rb +3 -1
- data/lib/restforce/middleware/caching.rb +3 -1
- data/lib/restforce/middleware/custom_headers.rb +2 -0
- data/lib/restforce/middleware/gzip.rb +5 -3
- data/lib/restforce/middleware/instance_url.rb +7 -3
- data/lib/restforce/middleware/logger.rb +2 -0
- data/lib/restforce/middleware/mashify.rb +2 -0
- data/lib/restforce/middleware/multipart.rb +7 -4
- data/lib/restforce/middleware/raise_error.rb +2 -0
- data/lib/restforce/patches/parts.rb +2 -0
- data/lib/restforce/signed_request.rb +2 -0
- data/lib/restforce/sobject.rb +2 -0
- data/lib/restforce/tooling/client.rb +2 -0
- data/lib/restforce/upload_io.rb +2 -0
- data/lib/restforce/version.rb +3 -1
- data/restforce.gemspec +17 -10
- data/spec/fixtures/sobject/sobject_describe_success_response.json +48 -1
- data/spec/integration/abstract_client_spec.rb +9 -6
- data/spec/integration/data/client_spec.rb +24 -5
- data/spec/spec_helper.rb +2 -0
- data/spec/support/client_integration.rb +2 -0
- data/spec/support/concerns.rb +2 -0
- data/spec/support/event_machine.rb +2 -0
- data/spec/support/fixture_helpers.rb +2 -0
- data/spec/support/matchers.rb +2 -0
- data/spec/support/middleware.rb +3 -1
- data/spec/support/mock_cache.rb +4 -2
- data/spec/unit/abstract_client_spec.rb +2 -0
- data/spec/unit/attachment_spec.rb +2 -0
- data/spec/unit/collection_spec.rb +5 -3
- data/spec/unit/concerns/api_spec.rb +30 -11
- data/spec/unit/concerns/authentication_spec.rb +4 -2
- data/spec/unit/concerns/base_spec.rb +2 -0
- data/spec/unit/concerns/caching_spec.rb +2 -0
- data/spec/unit/concerns/canvas_spec.rb +3 -1
- data/spec/unit/concerns/connection_spec.rb +5 -3
- data/spec/unit/concerns/streaming_spec.rb +3 -1
- data/spec/unit/config_spec.rb +10 -8
- data/spec/unit/data/client_spec.rb +2 -0
- data/spec/unit/document_spec.rb +2 -0
- data/spec/unit/mash_spec.rb +3 -1
- data/spec/unit/middleware/authentication/password_spec.rb +2 -0
- data/spec/unit/middleware/authentication/token_spec.rb +2 -0
- data/spec/unit/middleware/authentication_spec.rb +3 -1
- data/spec/unit/middleware/authorization_spec.rb +2 -0
- data/spec/unit/middleware/custom_headers_spec.rb +3 -1
- data/spec/unit/middleware/gzip_spec.rb +4 -2
- data/spec/unit/middleware/instance_url_spec.rb +2 -0
- data/spec/unit/middleware/logger_spec.rb +2 -0
- data/spec/unit/middleware/mashify_spec.rb +3 -1
- data/spec/unit/middleware/raise_error_spec.rb +2 -0
- data/spec/unit/signed_request_spec.rb +2 -0
- data/spec/unit/sobject_spec.rb +5 -3
- data/spec/unit/tooling/client_spec.rb +2 -0
- metadata +35 -19
- data/.travis.yml +0 -16
- data/Gemfile.travis +0 -8
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Concerns::Connection do
|
@@ -34,7 +36,7 @@ describe Restforce::Concerns::Connection do
|
|
34
36
|
describe 'with mashify not specified' do
|
35
37
|
it 'includes the Mashify middleware' do
|
36
38
|
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
37
|
-
|
39
|
+
should_not be_nil
|
38
40
|
end
|
39
41
|
end
|
40
42
|
|
@@ -45,7 +47,7 @@ describe Restforce::Concerns::Connection do
|
|
45
47
|
|
46
48
|
it 'includes the Mashify middleware' do
|
47
49
|
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
48
|
-
|
50
|
+
should_not be_nil
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
@@ -56,7 +58,7 @@ describe Restforce::Concerns::Connection do
|
|
56
58
|
|
57
59
|
it 'does not include the Mashify middleware' do
|
58
60
|
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
59
|
-
|
61
|
+
should be_nil
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Concerns::Streaming, event_machine: true do
|
4
6
|
describe '.subscribe' do
|
5
|
-
let(:channels) { %w
|
7
|
+
let(:channels) { %w[channel1 channel2] }
|
6
8
|
let(:topics) { channels.map { |c| "/topic/#{c}" } }
|
7
9
|
let(:subscribe_block) { lambda { 'subscribe' } }
|
8
10
|
let(:faye_double) { double('Faye') }
|
data/spec/unit/config_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce do
|
@@ -25,9 +27,9 @@ describe Restforce do
|
|
25
27
|
its(:authentication_retries) { should eq 3 }
|
26
28
|
its(:adapter) { should eq Faraday.default_adapter }
|
27
29
|
its(:ssl) { should eq({}) }
|
28
|
-
[
|
29
|
-
|
30
|
-
|
30
|
+
%i[username password security_token client_id client_secret
|
31
|
+
oauth_token refresh_token instance_url compress timeout
|
32
|
+
proxy_uri authentication_callback mashify request_headers].each do |attr|
|
31
33
|
its(attr) { should be_nil }
|
32
34
|
end
|
33
35
|
end
|
@@ -42,7 +44,7 @@ describe Restforce do
|
|
42
44
|
'SALESFORCE_PROXY_URI' => 'proxy',
|
43
45
|
'SALESFORCE_HOST' => 'test.host.com',
|
44
46
|
'SALESFORCE_API_VERSION' => '37.0' }.
|
45
|
-
|
47
|
+
each { |var, value| ENV.stub(:[]).with(var).and_return(value) }
|
46
48
|
end
|
47
49
|
|
48
50
|
its(:username) { should eq 'foo' }
|
@@ -57,10 +59,10 @@ describe Restforce do
|
|
57
59
|
end
|
58
60
|
|
59
61
|
describe '#configure' do
|
60
|
-
[
|
61
|
-
|
62
|
-
|
63
|
-
|
62
|
+
%i[username password security_token client_id client_secret compress
|
63
|
+
timeout oauth_token refresh_token instance_url api_version host mashify
|
64
|
+
authentication_retries proxy_uri authentication_callback ssl
|
65
|
+
request_headers log_level logger].each do |attr|
|
64
66
|
it "allows #{attr} to be set" do
|
65
67
|
Restforce.configure do |config|
|
66
68
|
config.send("#{attr}=", 'foobar')
|
data/spec/unit/document_spec.rb
CHANGED
data/spec/unit/mash_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Mash do
|
@@ -6,7 +8,7 @@ describe Restforce::Mash do
|
|
6
8
|
|
7
9
|
context 'when array' do
|
8
10
|
let(:input) { [{ foo: 'hello' }, { bar: 'world' }] }
|
9
|
-
it { should
|
11
|
+
it { should(be_all { |obj| expect(obj).to be_a Restforce::Mash }) }
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Middleware::Authentication do
|
@@ -58,7 +60,7 @@ describe Restforce::Middleware::Authentication do
|
|
58
60
|
should include FaradayMiddleware::ParseJson,
|
59
61
|
Faraday::Adapter::NetHttp
|
60
62
|
}
|
61
|
-
its(:handlers) { should_not include Restforce::Middleware::Logger
|
63
|
+
its(:handlers) { should_not include Restforce::Middleware::Logger }
|
62
64
|
end
|
63
65
|
|
64
66
|
context 'with logging enabled' do
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Middleware::CustomHeaders do
|
@@ -13,7 +15,7 @@ describe Restforce::Middleware::CustomHeaders do
|
|
13
15
|
context 'when :request_headers are not a Hash' do
|
14
16
|
let(:options) { { request_headers: 'bad header' } }
|
15
17
|
|
16
|
-
it { should_not
|
18
|
+
it { should_not(change { env[:request_headers] }) }
|
17
19
|
end
|
18
20
|
end
|
19
21
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Middleware::Gzip do
|
@@ -29,7 +31,7 @@ describe Restforce::Middleware::Gzip do
|
|
29
31
|
end
|
30
32
|
|
31
33
|
context 'when :compress is false' do
|
32
|
-
it { should_not
|
34
|
+
it { should_not(change { env[:request_headers]['Accept-Encoding'] }) }
|
33
35
|
end
|
34
36
|
|
35
37
|
context 'when :compress is true' do
|
@@ -37,7 +39,7 @@ describe Restforce::Middleware::Gzip do
|
|
37
39
|
options[:compress] = true
|
38
40
|
end
|
39
41
|
|
40
|
-
it { should
|
42
|
+
it { should(change { env[:request_headers]['Accept-Encoding'] }.to('gzip')) }
|
41
43
|
end
|
42
44
|
end
|
43
45
|
|
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::Middleware::Mashify do
|
4
6
|
let(:env) { { body: JSON.parse(fixture('sobject/query_success_response')) } }
|
5
7
|
subject(:middleware) {
|
6
|
-
described_class.new(lambda {|env|
|
8
|
+
described_class.new(lambda { |env|
|
7
9
|
Faraday::Response.new(env)
|
8
10
|
}, client, options)
|
9
11
|
}
|
data/spec/unit/sobject_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe Restforce::SObject do
|
@@ -22,8 +24,8 @@ describe Restforce::SObject do
|
|
22
24
|
it { should be_a Restforce::Collection }
|
23
25
|
|
24
26
|
describe 'each child' do
|
25
|
-
it { should
|
26
|
-
it { should
|
27
|
+
it { should(be_all { |sobject| expect(sobject).to be_a Restforce::SObject }) }
|
28
|
+
it { should(be_all { |sobject| expect(sobject).to have_client client }) }
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -54,7 +56,7 @@ describe Restforce::SObject do
|
|
54
56
|
|
55
57
|
context 'when an Id is present' do
|
56
58
|
before do
|
57
|
-
hash
|
59
|
+
hash[:Id] = '001D000000INjVe'
|
58
60
|
client.should_receive(receiver)
|
59
61
|
end
|
60
62
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restforce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric J. Holmes
|
@@ -9,28 +9,28 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-08-02 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: 0.9.0
|
21
18
|
- - "<="
|
22
19
|
- !ruby/object:Gem::Version
|
23
20
|
version: '1.0'
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.9.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: 0.9.0
|
31
28
|
- - "<="
|
32
29
|
- !ruby/object:Gem::Version
|
33
30
|
version: '1.0'
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.9.0
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: faraday_middleware
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,42 +105,56 @@ dependencies:
|
|
105
105
|
requirements:
|
106
106
|
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
108
|
+
version: 3.4.0
|
109
109
|
type: :development
|
110
110
|
prerelease: false
|
111
111
|
version_requirements: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version:
|
115
|
+
version: 3.4.0
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: simplecov
|
118
118
|
requirement: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 0.
|
122
|
+
version: 0.15.0
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: 0.
|
129
|
+
version: 0.15.0
|
130
130
|
- !ruby/object:Gem::Dependency
|
131
131
|
name: rubocop
|
132
132
|
requirement: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
134
|
- - "~>"
|
135
135
|
- !ruby/object:Gem::Version
|
136
|
-
version: 0.
|
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
|
137
151
|
type: :development
|
138
152
|
prerelease: false
|
139
153
|
version_requirements: !ruby/object:Gem::Requirement
|
140
154
|
requirements:
|
141
155
|
- - "~>"
|
142
156
|
- !ruby/object:Gem::Version
|
143
|
-
version: 0.
|
157
|
+
version: 0.3.0
|
144
158
|
- !ruby/object:Gem::Dependency
|
145
159
|
name: faye
|
146
160
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,15 +177,14 @@ executables: []
|
|
163
177
|
extensions: []
|
164
178
|
extra_rdoc_files: []
|
165
179
|
files:
|
180
|
+
- ".circleci/config.yml"
|
166
181
|
- ".gitignore"
|
167
182
|
- ".rubocop.yml"
|
168
183
|
- ".rubocop_todo.yml"
|
169
|
-
- ".travis.yml"
|
170
184
|
- CHANGELOG.md
|
171
185
|
- CODE_OF_CONDUCT.md
|
172
186
|
- CONTRIBUTING.md
|
173
187
|
- Gemfile
|
174
|
-
- Gemfile.travis
|
175
188
|
- Guardfile
|
176
189
|
- LICENSE
|
177
190
|
- README.md
|
@@ -292,7 +305,9 @@ files:
|
|
292
305
|
homepage: http://restforce.org/
|
293
306
|
licenses:
|
294
307
|
- MIT
|
295
|
-
metadata:
|
308
|
+
metadata:
|
309
|
+
source_code_uri: https://github.com/restforce/restforce
|
310
|
+
changelog_uri: https://github.com/restforce/restforce/blob/master/CHANGELOG.md
|
296
311
|
post_install_message:
|
297
312
|
rdoc_options: []
|
298
313
|
require_paths:
|
@@ -301,14 +316,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
301
316
|
requirements:
|
302
317
|
- - ">="
|
303
318
|
- !ruby/object:Gem::Version
|
304
|
-
version: '2.
|
319
|
+
version: '2.3'
|
305
320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
306
321
|
requirements:
|
307
322
|
- - ">="
|
308
323
|
- !ruby/object:Gem::Version
|
309
324
|
version: '0'
|
310
325
|
requirements: []
|
311
|
-
|
326
|
+
rubyforge_project:
|
327
|
+
rubygems_version: 2.6.14.1
|
312
328
|
signing_key:
|
313
329
|
specification_version: 4
|
314
330
|
summary: A lightweight ruby client for the Salesforce REST API.
|
data/.travis.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.0.0
|
4
|
-
- 2.1
|
5
|
-
- 2.2
|
6
|
-
- 2.3.1
|
7
|
-
- ruby-2.4.0
|
8
|
-
gemfile:
|
9
|
-
- Gemfile.travis
|
10
|
-
script:
|
11
|
-
- bundle exec rubocop
|
12
|
-
- bundle exec rspec spec
|
13
|
-
sudo: false
|
14
|
-
before_install:
|
15
|
-
- gem update --system
|
16
|
-
- gem update bundler
|