restforce 1.4.3 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of restforce might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.travis.yml +4 -2
- data/CHANGELOG.md +4 -0
- data/Gemfile +0 -2
- data/Gemfile.travis +5 -0
- data/README.md +15 -0
- data/lib/restforce/concerns/api.rb +13 -0
- data/lib/restforce/concerns/base.rb +2 -0
- data/lib/restforce/concerns/connection.rb +1 -1
- data/lib/restforce/concerns/streaming.rb +1 -0
- data/lib/restforce/config.rb +4 -0
- data/lib/restforce/middleware/mashify.rb +3 -9
- data/lib/restforce/middleware/multipart.rb +3 -2
- data/lib/restforce/patches/parts.rb +31 -0
- data/lib/restforce/signed_request.rb +10 -2
- data/lib/restforce/upload_io.rb +2 -13
- data/lib/restforce/version.rb +1 -1
- data/restforce.gemspec +1 -1
- data/spec/integration/abstract_client_spec.rb +2 -1
- data/spec/integration/data/client_spec.rb +6 -1
- data/spec/support/client_integration.rb +1 -1
- data/spec/unit/concerns/api_spec.rb +16 -0
- data/spec/unit/concerns/connection_spec.rb +43 -1
- data/spec/unit/concerns/streaming_spec.rb +53 -0
- data/spec/unit/config_spec.rb +2 -2
- data/spec/unit/middleware/authentication_spec.rb +4 -1
- data/spec/unit/middleware/mashify_spec.rb +8 -3
- data/spec/unit/signed_request_spec.rb +8 -1
- metadata +8 -5
- data/.rspec +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bce56a3151368be7fe420c60a276e63a348758b5
|
4
|
+
data.tar.gz: 802b3c908611a9080478ffef024357bd50b5a9c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a9082092a16f81a4de95d7a893e301e89e09ea183829bbd9b9693b9f520605994a87ddfc84700ed154b26781e0b541ea58e308d22ec7cf60cc9898718332811
|
7
|
+
data.tar.gz: 7066d91312f46b082a49bc4f0f3edeb64b3a58a015dbf47daab070d016a2d2af7cc55a4d282bbae837bb3673a02549b4deca4b7c186be5415ace3f6ccabb90a3
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.travis
ADDED
data/README.md
CHANGED
@@ -267,6 +267,14 @@ client.picklist_values('Automobile__c', 'Model__c', :valid_for => 'Honda')
|
|
267
267
|
# => [#<Restforce::Mash label="Civic" value="Civic">, ... ]
|
268
268
|
```
|
269
269
|
|
270
|
+
### user_info
|
271
|
+
|
272
|
+
```ruby
|
273
|
+
# get info about the logged-in user
|
274
|
+
client.user_info
|
275
|
+
# => #<Restforce::Mash active=true display_name="Chatty Sassy" email="user@example.com" ... >
|
276
|
+
```
|
277
|
+
|
270
278
|
* * *
|
271
279
|
|
272
280
|
### authenticate!
|
@@ -462,6 +470,13 @@ call `Restforce.tooling` instead of `Restforce.new`:
|
|
462
470
|
client = Restforce.tooling(...)
|
463
471
|
```
|
464
472
|
|
473
|
+
## Links
|
474
|
+
|
475
|
+
If you need a full Active Record experience, may be you can use
|
476
|
+
[ActiveForce](https://github.com/ionia-corporation/active_force) that wraps
|
477
|
+
Restforce and adds Associations, Query Building (like AREL), Validations and
|
478
|
+
Callbacks.
|
479
|
+
|
465
480
|
## Contributing
|
466
481
|
|
467
482
|
1. Fork it
|
@@ -29,6 +29,19 @@ module Restforce
|
|
29
29
|
# Returns the Faraday::Response.
|
30
30
|
define_verbs :get, :post, :put, :delete, :patch, :head
|
31
31
|
|
32
|
+
# Public: Get info about the logged-in user.
|
33
|
+
#
|
34
|
+
# Examples
|
35
|
+
#
|
36
|
+
# # get the email of the logged-in user
|
37
|
+
# client.user_info.email
|
38
|
+
# # => user@example.com
|
39
|
+
#
|
40
|
+
# Returns an Array of String names for each SObject.
|
41
|
+
def user_info
|
42
|
+
get(api_get.body.identity).body
|
43
|
+
end
|
44
|
+
|
32
45
|
# Public: Get the names of all sobjects on the org.
|
33
46
|
#
|
34
47
|
# Examples
|
@@ -34,6 +34,8 @@ module Restforce
|
|
34
34
|
# before raising an exception (default: 3).
|
35
35
|
#
|
36
36
|
# :compress - Set to true to have Salesforce compress the response (default: false).
|
37
|
+
# :mashify - Set to false to skip the conversion of Salesforce responses to
|
38
|
+
# Restforce::Sobjects and Restforce::Collections. (default: nil).
|
37
39
|
# :timeout - Faraday connection request read/open timeout. (default: nil).
|
38
40
|
#
|
39
41
|
# :proxy_uri - Proxy URI: 'http://proxy.example.com:port' or 'http://user@pass:proxy.example.com:port'
|
@@ -22,7 +22,7 @@ module Restforce
|
|
22
22
|
def connection
|
23
23
|
@connection ||= Faraday.new(options[:instance_url], connection_options) do |builder|
|
24
24
|
# Parses JSON into Hashie::Mash structures.
|
25
|
-
builder.use Restforce::Middleware::Mashify, self, options
|
25
|
+
builder.use Restforce::Middleware::Mashify, self, options unless (options[:mashify] == false)
|
26
26
|
# Handles multipart file uploads for blobs.
|
27
27
|
builder.use Restforce::Middleware::Multipart
|
28
28
|
# Converts the request into JSON.
|
@@ -16,6 +16,7 @@ module Restforce
|
|
16
16
|
def faye
|
17
17
|
raise 'Instance URL missing. Call .authenticate! first.' unless options[:instance_url]
|
18
18
|
@faye ||= Faye::Client.new("#{options[:instance_url]}/cometd/#{options[:api_version]}").tap do |client|
|
19
|
+
client.set_header 'Authorization', "OAuth #{options[:oauth_token]}"
|
19
20
|
client.bind 'transport:down' do
|
20
21
|
Restforce.log "[COMETD DOWN]"
|
21
22
|
client.set_header 'Authorization', "OAuth #{authenticate!.access_token}"
|
data/lib/restforce/config.rb
CHANGED
@@ -117,6 +117,10 @@ module Restforce
|
|
117
117
|
# Set to true if you want responses from Salesforce to be gzip compressed.
|
118
118
|
option :compress
|
119
119
|
|
120
|
+
# Set to false if you want to skip conversion to Restforce::Sobjects and
|
121
|
+
# Restforce::Collections.
|
122
|
+
option :mashify
|
123
|
+
|
120
124
|
# Faraday request read/open timeout.
|
121
125
|
option :timeout
|
122
126
|
|
@@ -4,15 +4,9 @@ module Restforce
|
|
4
4
|
class Middleware::Mashify < Restforce::Middleware
|
5
5
|
|
6
6
|
def call(env)
|
7
|
-
@env
|
8
|
-
|
9
|
-
|
10
|
-
response
|
7
|
+
@app.call(env).on_complete do |env|
|
8
|
+
env[:body] = Restforce::Mash.build(env[:body], client)
|
9
|
+
end
|
11
10
|
end
|
12
|
-
|
13
|
-
def body
|
14
|
-
@env[:body]
|
15
|
-
end
|
16
|
-
|
17
11
|
end
|
18
12
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
module Restforce
|
2
2
|
class Middleware::Multipart < Faraday::Request::UrlEncoded
|
3
3
|
self.mime_type = 'multipart/form-data'.freeze
|
4
|
-
DEFAULT_BOUNDARY
|
4
|
+
DEFAULT_BOUNDARY = "--boundary_string".freeze
|
5
|
+
JSON_CONTENT_TYPE = {"Content-Type" => "application/json"}
|
5
6
|
|
6
7
|
def call(env)
|
7
8
|
match_content_type(env) do |params|
|
@@ -36,7 +37,7 @@ module Restforce
|
|
36
37
|
parts = []
|
37
38
|
|
38
39
|
# Fields
|
39
|
-
parts << Faraday::Parts::Part.new(boundary, 'entity_content', params.reject { |k,v| v.respond_to? :content_type }.to_json)
|
40
|
+
parts << Faraday::Parts::Part.new(boundary, 'entity_content', params.reject { |k,v| v.respond_to? :content_type }.to_json, JSON_CONTENT_TYPE)
|
40
41
|
|
41
42
|
# Files
|
42
43
|
params.each do |k,v|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Faraday
|
2
|
+
module Parts
|
3
|
+
|
4
|
+
module Part
|
5
|
+
def self.new(boundary, name, value, headers = {})
|
6
|
+
headers ||= {}
|
7
|
+
if value.respond_to? :content_type
|
8
|
+
FilePart.new(boundary, name, value)
|
9
|
+
else
|
10
|
+
ParamPart.new(boundary, name, value, headers)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class ParamPart
|
16
|
+
def initialize(boundary, name, value, headers = {})
|
17
|
+
@part = build_part(boundary, name, value, headers)
|
18
|
+
@io = StringIO.new(@part)
|
19
|
+
end
|
20
|
+
|
21
|
+
def build_part(boundary, name, value, headers = {})
|
22
|
+
part = ''
|
23
|
+
part << "--#{boundary}\r\n"
|
24
|
+
part << "Content-Disposition: form-data; name=\"#{name.to_s}\"\r\n"
|
25
|
+
part << "Content-Type: #{headers["Content-Type"]}\r\n" if headers["Content-Type"]
|
26
|
+
part << "\r\n"
|
27
|
+
part << "#{value}\r\n"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -27,7 +27,7 @@ module Restforce
|
|
27
27
|
return nil if signature != hmac
|
28
28
|
JSON.parse(Base64.decode64(payload))
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
private
|
32
32
|
attr_reader :client_secret, :signature, :payload
|
33
33
|
|
@@ -41,7 +41,15 @@ module Restforce
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def digest
|
44
|
-
|
44
|
+
digest_class.new('sha256')
|
45
|
+
end
|
46
|
+
|
47
|
+
def digest_class
|
48
|
+
if RUBY_VERSION < '2.1'
|
49
|
+
OpenSSL::Digest::Digest
|
50
|
+
else
|
51
|
+
OpenSSL::Digest
|
52
|
+
end
|
45
53
|
end
|
46
54
|
|
47
55
|
end
|
data/lib/restforce/upload_io.rb
CHANGED
@@ -4,17 +4,6 @@ module Restforce
|
|
4
4
|
UploadIO = Faraday::UploadIO
|
5
5
|
end
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
class ParamPart
|
10
|
-
def build_part(boundary, name, value)
|
11
|
-
part = ''
|
12
|
-
part << "--#{boundary}\r\n"
|
13
|
-
part << "Content-Disposition: form-data; name=\"#{name.to_s}\";\r\n"
|
14
|
-
part << "Content-Type: application/json\r\n"
|
15
|
-
part << "\r\n"
|
16
|
-
part << "#{value}\r\n"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
7
|
+
unless Parts::Part.method(:new).arity.abs == 4
|
8
|
+
require 'restforce/patches/parts'
|
20
9
|
end
|
data/lib/restforce/version.rb
CHANGED
data/restforce.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Restforce::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency 'faraday', '~> 0.
|
18
|
+
gem.add_dependency 'faraday', '~> 0.9.0'
|
19
19
|
gem.add_dependency 'faraday_middleware', '>= 0.8.8'
|
20
20
|
gem.add_dependency 'json', ['>= 1.7.5', '< 1.9.0']
|
21
21
|
gem.add_dependency 'hashie', ['>= 1.2.0', '< 2.1']
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
shared_examples_for Restforce::AbstractClient do
|
4
|
+
|
4
5
|
describe '.list_sobjects' do
|
5
6
|
requests :sobjects, :fixture => 'sobject/describe_sobjects_success_response'
|
6
7
|
|
@@ -61,7 +62,7 @@ shared_examples_for Restforce::AbstractClient do
|
|
61
62
|
context 'with multipart' do
|
62
63
|
requests 'sobjects/Account',
|
63
64
|
:method => :post,
|
64
|
-
:with_body => %r(----boundary_string\r\nContent-Disposition: form-data; name=\"entity_content\"
|
65
|
+
:with_body => %r(----boundary_string\r\nContent-Disposition: form-data; name=\"entity_content\"\r\nContent-Type: application/json\r\n\r\n{\"Name\":\"Foobar\"}\r\n----boundary_string\r\nContent-Disposition: form-data; name=\"Blob\"; filename=\"blob.jpg\"\r\nContent-Length: 42171\r\nContent-Type: image/jpeg\r\nContent-Transfer-Encoding: binary),
|
65
66
|
:fixture => 'sobject/create_success_response'
|
66
67
|
|
67
68
|
subject { client.create('Account', :Name => 'Foobar', :Blob => Restforce::UploadIO.new(File.expand_path('../../fixtures/blob.jpg', __FILE__), 'image/jpeg')) }
|
@@ -48,7 +48,12 @@ shared_examples_for Restforce::Data::Client do
|
|
48
48
|
context 'with oauth token and instance url' do
|
49
49
|
let(:instance_url) { 'http://google.com' }
|
50
50
|
let(:oauth_token) { 'bar' }
|
51
|
-
|
51
|
+
|
52
|
+
it 'should not raise error' do
|
53
|
+
client.stub(:authorize!)
|
54
|
+
client.faye.stub(:set_header).with('Authorization', "OAuth token")
|
55
|
+
expect { subject }.to_not raise_error
|
56
|
+
end
|
52
57
|
end
|
53
58
|
|
54
59
|
context 'when the connection goes down' do
|
@@ -3,6 +3,22 @@ require 'spec_helper'
|
|
3
3
|
describe Restforce::Concerns::API do
|
4
4
|
let(:response) { double('Faraday::Response', :body => double('Body')) }
|
5
5
|
|
6
|
+
describe '.user_info' do
|
7
|
+
subject(:user_info) { client.user_info }
|
8
|
+
|
9
|
+
it 'returns the user info from identity url' do
|
10
|
+
identity_url = double('identity_url')
|
11
|
+
response.body.stub(:identity).and_return(identity_url)
|
12
|
+
client.should_receive(:api_get).with().and_return(response)
|
13
|
+
|
14
|
+
identity = double('identity')
|
15
|
+
identity.stub(:body).and_return(identity)
|
16
|
+
client.should_receive(:get).with(identity_url).and_return(identity)
|
17
|
+
|
18
|
+
expect(user_info).to eq identity
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
6
22
|
describe '.list_sobjects' do
|
7
23
|
subject { client.list_sobjects }
|
8
24
|
|
@@ -12,6 +12,48 @@ describe Restforce::Concerns::Connection do
|
|
12
12
|
it { should eq builder }
|
13
13
|
end
|
14
14
|
|
15
|
+
describe 'private #connection' do
|
16
|
+
|
17
|
+
describe ':mashify option' do
|
18
|
+
let(:options) { {:adapter => Faraday.default_adapter} }
|
19
|
+
|
20
|
+
before(:each) do
|
21
|
+
client.stub(:authentication_middleware)
|
22
|
+
client.stub(:cache)
|
23
|
+
client.stub(:options => options)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'with mashify not specified' do
|
27
|
+
it 'includes the Mashify middleware' do
|
28
|
+
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
29
|
+
should_not be_nil
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe 'with mashify=true' do
|
34
|
+
before(:each) do
|
35
|
+
options.merge!(:mashify => true)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'includes the Mashify middleware' do
|
39
|
+
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
40
|
+
should_not be_nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'without mashify' do
|
45
|
+
before(:each) do
|
46
|
+
options.merge!(:mashify => false)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'does not include the Mashify middleware' do
|
50
|
+
client.middleware.handlers.index(Restforce::Middleware::Mashify).
|
51
|
+
should be_nil
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
15
57
|
describe '#adapter' do
|
16
58
|
before do
|
17
59
|
client.stub :options => {:adapter => :typhoeus}
|
@@ -19,4 +61,4 @@ describe Restforce::Concerns::Connection do
|
|
19
61
|
|
20
62
|
its(:adapter) { should eq(:typhoeus) }
|
21
63
|
end
|
22
|
-
end
|
64
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Restforce::Concerns::Streaming, :event_machine => true do
|
4
|
+
describe '.subscribe' do
|
5
|
+
let(:channels) { %w( channel1 channel2 ) }
|
6
|
+
let(:topics) { channels.map { |c| "/topic/#{c}" } }
|
7
|
+
let(:subscribe_block) { lambda{ 'subscribe' } }
|
8
|
+
let(:faye_double) { double('Faye') }
|
9
|
+
|
10
|
+
it 'subscribes to the topics with faye' do
|
11
|
+
faye_double.
|
12
|
+
should_receive(:subscribe).
|
13
|
+
with(topics, &subscribe_block)
|
14
|
+
client.stub :faye => faye_double
|
15
|
+
|
16
|
+
client.subscribe(channels, &subscribe_block)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '.faye' do
|
21
|
+
subject { client.faye }
|
22
|
+
|
23
|
+
context 'when authenticate! has already been called' do
|
24
|
+
before do
|
25
|
+
client.stub :options => {
|
26
|
+
:instance_url => '/url',
|
27
|
+
:api_version => '30.0',
|
28
|
+
:oauth_token => 'secret'
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'connects to the streaming api' do
|
33
|
+
client.stub :authenticate! => OpenStruct.new({ :access_token => 'secret2' })
|
34
|
+
faye_double = double('Faye::Client')
|
35
|
+
Faye::Client.
|
36
|
+
should_receive(:new).
|
37
|
+
with("/url/cometd/30.0").
|
38
|
+
and_return(faye_double)
|
39
|
+
faye_double.should_receive(:set_header).with('Authorization', 'OAuth secret')
|
40
|
+
faye_double.should_receive(:set_header).with('Authorization', 'OAuth secret2')
|
41
|
+
faye_double.should_receive(:bind).with('transport:down').and_yield
|
42
|
+
faye_double.should_receive(:bind).with('transport:up').and_yield
|
43
|
+
subject
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'when authenticate! has not been called' do
|
48
|
+
it 'raises an error' do
|
49
|
+
expect { subject }.to raise_error
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/unit/config_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe Restforce do
|
|
25
25
|
its(:adapter) { should eq Faraday.default_adapter }
|
26
26
|
[:username, :password, :security_token, :client_id, :client_secret,
|
27
27
|
:oauth_token, :refresh_token, :instance_url, :compress, :timeout,
|
28
|
-
:proxy_uri, :authentication_callback].each do |attr|
|
28
|
+
:proxy_uri, :authentication_callback, :mashify].each do |attr|
|
29
29
|
its(attr) { should be_nil }
|
30
30
|
end
|
31
31
|
end
|
@@ -55,7 +55,7 @@ describe Restforce do
|
|
55
55
|
describe '#configure' do
|
56
56
|
[:username, :password, :security_token, :client_id, :client_secret, :compress, :timeout,
|
57
57
|
:oauth_token, :refresh_token, :instance_url, :api_version, :host, :authentication_retries,
|
58
|
-
:proxy_uri, :authentication_callback].each do |attr|
|
58
|
+
:proxy_uri, :authentication_callback, :mashify].each do |attr|
|
59
59
|
it "allows #{attr} to be set" do
|
60
60
|
Restforce.configure do |config|
|
61
61
|
config.send("#{attr}=", 'foobar')
|
@@ -39,7 +39,10 @@ describe Restforce::Middleware::Authentication do
|
|
39
39
|
subject(:connection) { middleware.connection }
|
40
40
|
|
41
41
|
its(:url_prefix) { should eq(URI.parse('https://login.salesforce.com')) }
|
42
|
-
|
42
|
+
|
43
|
+
it "should have a proxy URI" do
|
44
|
+
connection.proxy[:uri].should eq(URI.parse('https://not-a-real-site.com'))
|
45
|
+
end
|
43
46
|
|
44
47
|
describe '.builder' do
|
45
48
|
subject(:builder) { connection.builder }
|
@@ -2,10 +2,15 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Restforce::Middleware::Mashify do
|
4
4
|
let(:env) { { :body => JSON.parse(fixture('sobject/query_success_response')) } }
|
5
|
+
subject(:middleware) {
|
6
|
+
described_class.new(lambda {|env|
|
7
|
+
Faraday::Response.new(env)
|
8
|
+
}, client, options)
|
9
|
+
}
|
5
10
|
|
6
11
|
describe '.call' do
|
7
|
-
|
8
|
-
|
9
|
-
|
12
|
+
it "should change the body to a Restforce::Collection" do
|
13
|
+
expect( middleware.call(env).body ).to be_kind_of(Restforce::Collection)
|
14
|
+
end
|
10
15
|
end
|
11
16
|
end
|
@@ -2,8 +2,15 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Restforce::SignedRequest do
|
4
4
|
let(:client_secret) { 'foo' }
|
5
|
+
let(:digest) do
|
6
|
+
if RUBY_VERSION < '2.1'
|
7
|
+
OpenSSL::Digest::Digest.new('sha256')
|
8
|
+
else
|
9
|
+
OpenSSL::Digest.new('sha256')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
5
13
|
let(:message) do
|
6
|
-
digest = OpenSSL::Digest::Digest.new('sha256')
|
7
14
|
signature = Base64.encode64(OpenSSL::HMAC.digest(digest, client_secret, data))
|
8
15
|
"#{signature}.#{data}"
|
9
16
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restforce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric J. Holmes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.9.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.9.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday_middleware
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,10 +142,10 @@ extensions: []
|
|
142
142
|
extra_rdoc_files: []
|
143
143
|
files:
|
144
144
|
- .gitignore
|
145
|
-
- .rspec
|
146
145
|
- .travis.yml
|
147
146
|
- CHANGELOG.md
|
148
147
|
- Gemfile
|
148
|
+
- Gemfile.travis
|
149
149
|
- Guardfile
|
150
150
|
- LICENSE
|
151
151
|
- README.md
|
@@ -179,6 +179,7 @@ files:
|
|
179
179
|
- lib/restforce/middleware/mashify.rb
|
180
180
|
- lib/restforce/middleware/multipart.rb
|
181
181
|
- lib/restforce/middleware/raise_error.rb
|
182
|
+
- lib/restforce/patches/parts.rb
|
182
183
|
- lib/restforce/signed_request.rb
|
183
184
|
- lib/restforce/sobject.rb
|
184
185
|
- lib/restforce/tooling/client.rb
|
@@ -236,6 +237,7 @@ files:
|
|
236
237
|
- spec/unit/concerns/caching_spec.rb
|
237
238
|
- spec/unit/concerns/canvas_spec.rb
|
238
239
|
- spec/unit/concerns/connection_spec.rb
|
240
|
+
- spec/unit/concerns/streaming_spec.rb
|
239
241
|
- spec/unit/config_spec.rb
|
240
242
|
- spec/unit/data/client_spec.rb
|
241
243
|
- spec/unit/mash_spec.rb
|
@@ -326,6 +328,7 @@ test_files:
|
|
326
328
|
- spec/unit/concerns/caching_spec.rb
|
327
329
|
- spec/unit/concerns/canvas_spec.rb
|
328
330
|
- spec/unit/concerns/connection_spec.rb
|
331
|
+
- spec/unit/concerns/streaming_spec.rb
|
329
332
|
- spec/unit/config_spec.rb
|
330
333
|
- spec/unit/data/client_spec.rb
|
331
334
|
- spec/unit/mash_spec.rb
|
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|