zuora_rest_client 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/fixtures/vcr_cassettes/zuora/create_account_object_success.yml +7 -7
- data/fixtures/vcr_cassettes/zuora/create_account_success.yml +9 -9
- data/fixtures/vcr_cassettes/zuora/delete_account_object_success.yml +30 -30
- data/fixtures/vcr_cassettes/zuora/describe_account.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_account_related_objects.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_all_account_fields.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_all_zobjects.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_exportable_account_fields.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_non_exportable_account_fields.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_non_updateable_account_fields.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/describe_updateable_account_fields.yml +6 -6
- data/fixtures/vcr_cassettes/zuora/get_account_object_success.yml +10 -10
- data/fixtures/vcr_cassettes/zuora/get_account_success.yml +8 -8
- data/fixtures/vcr_cassettes/zuora/get_account_summary_success.yml +12 -12
- data/fixtures/vcr_cassettes/zuora/update_account_object_success.yml +18 -18
- data/fixtures/vcr_cassettes/zuora/update_account_success.yml +15 -15
- data/lib/zuora_rest_client/client.rb +158 -69
- data/lib/zuora_rest_client/connection.rb +18 -7
- data/lib/zuora_rest_client/version.rb +1 -1
- metadata +2 -2
@@ -17,7 +17,8 @@ module ZuoraRestClient
|
|
17
17
|
entity_name: nil,
|
18
18
|
logger: Logger.new($stdout),
|
19
19
|
log_level: :error,
|
20
|
-
log: true
|
20
|
+
log: true,
|
21
|
+
api_proxy_port: nil }
|
21
22
|
|
22
23
|
def initialize(username, password, environment = :production, options = {})
|
23
24
|
@username = username
|
@@ -45,7 +46,7 @@ module ZuoraRestClient
|
|
45
46
|
end
|
46
47
|
|
47
48
|
def rest_get(path, zuora_version = nil)
|
48
|
-
response = rest_connection.get do |request|
|
49
|
+
response = rest_connection(use_api_proxy?(path)).get do |request|
|
49
50
|
request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('/')
|
50
51
|
request.headers = rest_headers(zuora_version)
|
51
52
|
end
|
@@ -78,7 +79,7 @@ module ZuoraRestClient
|
|
78
79
|
end
|
79
80
|
|
80
81
|
def rest_post(path, post_data = nil, zuora_version = nil, is_json = true)
|
81
|
-
response = rest_connection.post do |request|
|
82
|
+
response = rest_connection(use_api_proxy?(path)).post do |request|
|
82
83
|
request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('/')
|
83
84
|
request.headers = rest_headers(zuora_version)
|
84
85
|
request.body = MultiJson.dump(post_data) if !post_data.nil? && is_json
|
@@ -88,7 +89,7 @@ module ZuoraRestClient
|
|
88
89
|
end
|
89
90
|
|
90
91
|
def rest_put(path, put_data = nil, zuora_version = nil, is_json = true)
|
91
|
-
response = rest_connection.put do |request|
|
92
|
+
response = rest_connection(use_api_proxy?(path)).put do |request|
|
92
93
|
request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('/')
|
93
94
|
request.headers = rest_headers(zuora_version)
|
94
95
|
request.body = MultiJson.dump(put_data) if !put_data.nil? && is_json
|
@@ -98,7 +99,7 @@ module ZuoraRestClient
|
|
98
99
|
end
|
99
100
|
|
100
101
|
def rest_delete(path, zuora_version = nil)
|
101
|
-
response = rest_connection.delete do |request|
|
102
|
+
response = rest_connection(use_api_proxy?(path)).delete do |request|
|
102
103
|
request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('/')
|
103
104
|
request.headers = rest_headers(zuora_version)
|
104
105
|
end
|
@@ -153,8 +154,13 @@ module ZuoraRestClient
|
|
153
154
|
end
|
154
155
|
end
|
155
156
|
|
156
|
-
def rest_connection
|
157
|
-
|
157
|
+
def rest_connection(use_api_proxy = false)
|
158
|
+
rest_endpoint_uri = Addressable::URI.parse(zuora_endpoint.rest)
|
159
|
+
if use_api_proxy
|
160
|
+
rest_endpoint_uri.path = '/'
|
161
|
+
rest_endpoint_uri.port = @options[:api_proxy_port] || 443
|
162
|
+
end
|
163
|
+
Faraday.new(url: rest_endpoint_uri.to_s) do |faraday|
|
158
164
|
faraday.use FaradayMiddleware::FollowRedirects
|
159
165
|
faraday.request :multipart
|
160
166
|
faraday.response :detailed_logger, logger
|
@@ -172,6 +178,11 @@ module ZuoraRestClient
|
|
172
178
|
headers
|
173
179
|
end
|
174
180
|
|
181
|
+
def use_api_proxy?(path)
|
182
|
+
@environment.to_s.start_with?('services') &&
|
183
|
+
(path.start_with?('/action/') || path.start_with?('/object/'))
|
184
|
+
end
|
185
|
+
|
175
186
|
def zuora_endpoint
|
176
187
|
if @environment.is_a? Symbol
|
177
188
|
if @environment.to_s.start_with?('services')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_rest_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Massad
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|