zuora_rest_client 1.0.2 → 1.1.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 +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
|