zuora_api 1.8.23 → 1.9.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 +1 -2
- data/lib/zuora_api.rb +2 -0
- data/lib/zuora_api/login.rb +56 -54
- data/lib/zuora_api/version.rb +1 -1
- metadata +37 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c377d99b1a4c4a64d1b46d45b19e42136da2e0faba049e7a45621b3daaa41ad
|
4
|
+
data.tar.gz: e00b3a6e9628aed4086190a3be983bd7998196812df9d53010c274f882a36749
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14c76c2a211f55a38d79940436241c3fa9203a2c1a960415a3a2287950adb6059461571703530d4754e803833f3ffc98e42182c50588498a51070a0a6984cadb
|
7
|
+
data.tar.gz: a2176a640fb0f77bbc0893f5161c30c822a9a8cc1147b33e6f088ce60240666a19853f82e5d85ecf676273c9a9ecc59c7aaee006f0aa63c8fd52b8fdc60ee2d1
|
data/README.md
CHANGED
@@ -147,11 +147,10 @@ objectype: "ACCOUNT/USER"
|
|
147
147
|
segmentuuid: A single or array of string or int of a segment uuid(s) that you get from the describe call. The csv holds a column with a bool that represents if that User or Account belongs to that segment.
|
148
148
|
|
149
149
|
### License Information
|
150
|
-
IN THE EVENT YOU ARE AN EXISTING ZUORA CUSTOMER, USE OF THIS SOFTWARE IS
|
150
|
+
IN THE EVENT YOU ARE AN EXISTING ZUORA CUSTOMER, USE OF THIS SOFTWARE IS
|
151
151
|
|
152
152
|
Copyright 2021 Zuora, Inc.
|
153
153
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
154
154
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
155
155
|
|
156
156
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
157
|
-
|
data/lib/zuora_api.rb
CHANGED
data/lib/zuora_api/login.rb
CHANGED
@@ -43,7 +43,7 @@ module ZuoraAPI
|
|
43
43
|
ZuoraAPI::Exceptions::ZuoraAPIReadTimeout,
|
44
44
|
ZuoraAPI::Exceptions::ZuoraUnexpectedError
|
45
45
|
].freeze
|
46
|
-
|
46
|
+
|
47
47
|
attr_accessor :region, :url, :wsdl_number, :current_session, :bearer_token, :oauth_session_expires_at, :environment, :status, :errors, :current_error, :user_info, :tenant_id, :tenant_name, :entity_id, :timeout_sleep, :hostname, :zconnect_provider
|
48
48
|
|
49
49
|
def initialize(url: nil, entity_id: nil, session: nil, status: nil, bearer_token: nil, oauth_session_expires_at: nil, **keyword_args)
|
@@ -299,7 +299,7 @@ module ZuoraAPI
|
|
299
299
|
update_environment
|
300
300
|
endpoint = url
|
301
301
|
url_postfix = {"US" => ".", "EU" => ".eu.", "NA" => ".na."}[self.region]
|
302
|
-
|
302
|
+
|
303
303
|
case self.environment
|
304
304
|
when 'Test'
|
305
305
|
endpoint = "https://rest.test#{url_postfix}zuora.com"
|
@@ -351,7 +351,7 @@ module ZuoraAPI
|
|
351
351
|
retries -= 1
|
352
352
|
sleep(self.timeout_sleep)
|
353
353
|
retry
|
354
|
-
|
354
|
+
|
355
355
|
rescue *(CONNECTION_EXCEPTIONS + CONNECTION_READ_EXCEPTIONS) => ex
|
356
356
|
self.log(location: "BasicLogin", exception: ex, message: "Timed out", level: :error)
|
357
357
|
|
@@ -402,18 +402,18 @@ module ZuoraAPI
|
|
402
402
|
end
|
403
403
|
|
404
404
|
def soap_call(
|
405
|
-
ns1: 'ns1',
|
406
|
-
ns2: 'ns2',
|
405
|
+
ns1: 'ns1',
|
406
|
+
ns2: 'ns2',
|
407
407
|
batch_size: nil,
|
408
408
|
headers: {},
|
409
|
-
single_transaction: false,
|
410
|
-
debug: false,
|
411
|
-
zuora_track_id: nil,
|
412
|
-
errors: [ZuoraAPI::Exceptions::ZuoraAPISessionError].concat(ZUORA_API_ERRORS),
|
413
|
-
z_session: true,
|
414
|
-
timeout_retry: false,
|
409
|
+
single_transaction: false,
|
410
|
+
debug: false,
|
411
|
+
zuora_track_id: nil,
|
412
|
+
errors: [ZuoraAPI::Exceptions::ZuoraAPISessionError].concat(ZUORA_API_ERRORS),
|
413
|
+
z_session: true,
|
414
|
+
timeout_retry: false,
|
415
415
|
timeout: 130,
|
416
|
-
timeout_sleep_interval: self.timeout_sleep,
|
416
|
+
timeout_sleep_interval: self.timeout_sleep,
|
417
417
|
output_exception_messages: true,
|
418
418
|
skip_session: false,
|
419
419
|
**keyword_args)
|
@@ -484,17 +484,17 @@ module ZuoraAPI
|
|
484
484
|
|
485
485
|
retry
|
486
486
|
end
|
487
|
-
|
487
|
+
|
488
488
|
raise ex if errors.include?(ex.class)
|
489
|
-
|
489
|
+
|
490
490
|
return output_xml, input_xml, response
|
491
|
-
|
491
|
+
|
492
492
|
rescue *ZUORA_API_ERRORS => ex
|
493
493
|
raise ex if errors.include?(ex.class)
|
494
|
-
|
494
|
+
|
495
495
|
response = ex.response unless response
|
496
496
|
return output_xml, input_xml, response
|
497
|
-
|
497
|
+
|
498
498
|
rescue *CONNECTION_EXCEPTIONS => ex
|
499
499
|
if !tries.zero?
|
500
500
|
tries -= 1
|
@@ -504,8 +504,8 @@ module ZuoraAPI
|
|
504
504
|
end
|
505
505
|
|
506
506
|
self.log(location: "SOAP Call", exception: ex, message: "Timed out", level: :error) if output_exception_messages
|
507
|
-
raise ex
|
508
|
-
|
507
|
+
raise ex
|
508
|
+
|
509
509
|
rescue *CONNECTION_READ_EXCEPTIONS => ex
|
510
510
|
if !tries.zero?
|
511
511
|
tries -= 1
|
@@ -524,11 +524,13 @@ module ZuoraAPI
|
|
524
524
|
|
525
525
|
rescue => ex
|
526
526
|
raise ex
|
527
|
-
ensure
|
528
|
-
self.error_logger(ex) if defined?(ex)
|
527
|
+
ensure
|
528
|
+
self.error_logger(ex) if defined?(ex)
|
529
529
|
end
|
530
530
|
|
531
531
|
def error_logger(ex)
|
532
|
+
return unless Rails.logger.is_a? Ougai::Logger
|
533
|
+
|
532
534
|
exception_args = Rails.logger.with_fields.merge(self.exception_args(ex))
|
533
535
|
case ex
|
534
536
|
when ZuoraAPI::Exceptions::ZuoraAPIUnkownError, ZuoraAPI::Exceptions::ZuoraDataIntegrity
|
@@ -544,10 +546,10 @@ module ZuoraAPI
|
|
544
546
|
|
545
547
|
def log(location: "Rest Call", exception: nil, message: "Timed out will retry after #{self.timeout_sleep} seconds", level: :info )
|
546
548
|
level = :debug if ![:debug, :info, :warn, :error, :fatal].include?(level)
|
547
|
-
if Rails.logger.
|
548
|
-
Rails.logger.send(level.to_sym, "#{location} - #{message}", exception)
|
549
|
+
if Rails.logger.is_a? Ougai::Logger
|
550
|
+
Rails.logger.send(level.to_sym, "#{location} - #{message}", exception)
|
549
551
|
else
|
550
|
-
Rails.logger.send(level.to_sym, "#{location} - #{exception.class} #{message}")
|
552
|
+
Rails.logger.send(level.to_sym, "#{location} - #{exception.class} #{message}")
|
551
553
|
end
|
552
554
|
end
|
553
555
|
|
@@ -612,14 +614,14 @@ module ZuoraAPI
|
|
612
614
|
when 429
|
613
615
|
raise ZuoraAPI::Exceptions::ZuoraAPIRequestLimit.new("The total number of concurrent requests has exceeded the limit allowed by the system. Please resubmit your request later.", response)
|
614
616
|
when 401
|
615
|
-
|
617
|
+
|
616
618
|
else
|
617
619
|
if body.class == Hash
|
618
620
|
case request_path
|
619
621
|
when /^\/v1\/connections$/
|
620
|
-
response_headers = response.headers.to_h
|
622
|
+
response_headers = response.headers.to_h
|
621
623
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new("Missing cookies for authentication call", response) if response_headers['set-cookie'].blank?
|
622
|
-
z_session_cookie = response_headers.fetch('set-cookie', []).select{|x| x.match(/^ZSession=.*/) }.first
|
624
|
+
z_session_cookie = response_headers.fetch('set-cookie', []).select{|x| x.match(/^ZSession=.*/) }.first
|
623
625
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new("Missing ZSession cookie for authentication call", response) if z_session_cookie.blank?
|
624
626
|
end
|
625
627
|
end
|
@@ -629,7 +631,7 @@ module ZuoraAPI
|
|
629
631
|
when :SOAP
|
630
632
|
error, success, message = get_soap_error_and_message(body)
|
631
633
|
|
632
|
-
if body.xpath('//fns:LoginFault', 'fns' =>'http://fault.api.zuora.com/').present?
|
634
|
+
if body.xpath('//fns:LoginFault', 'fns' =>'http://fault.api.zuora.com/').present?
|
633
635
|
raise ZuoraAPI::Exceptions::ZuoraAPISessionError.new(message, response)
|
634
636
|
end
|
635
637
|
|
@@ -666,19 +668,19 @@ module ZuoraAPI
|
|
666
668
|
end
|
667
669
|
|
668
670
|
self.errors_via_content_type(response: response, type: :xml)
|
669
|
-
|
671
|
+
|
670
672
|
when :JSON
|
671
673
|
case request_path
|
672
674
|
when /^\/query\/jobs.*/ #DataQuery Paths
|
673
675
|
return if body.class != Hash
|
674
676
|
case match_string
|
675
|
-
when /^GET::200::\/query\/jobs\/([a-zA-Z0-9\-_]+)$/ #Get DQ job, Capture of the id is present if needed in future error responses.
|
677
|
+
when /^GET::200::\/query\/jobs\/([a-zA-Z0-9\-_]+)$/ #Get DQ job, Capture of the id is present if needed in future error responses.
|
676
678
|
if body.dig('data', "errorCode") == "LINK_10000005"
|
677
679
|
raise ZuoraAPI::Exceptions::ZuoraAPITemporaryError.new(body.dig('data', "errorMessage"), response)
|
678
|
-
elsif (body.dig('data', "errorMessage").present? || body.dig('data', "queryStatus") == "failed")
|
680
|
+
elsif (body.dig('data', "errorMessage").present? || body.dig('data', "queryStatus") == "failed")
|
679
681
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(body.dig('data', "errorMessage"), response)
|
680
682
|
end
|
681
|
-
when /^GET::404::\/query\/jobs\/([a-zA-Z0-9\-_]+)$/ #Get DQ job not found, capture of the id is present if needed in future error responses.
|
683
|
+
when /^GET::404::\/query\/jobs\/([a-zA-Z0-9\-_]+)$/ #Get DQ job not found, capture of the id is present if needed in future error responses.
|
682
684
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(body.dig('message'), response) if body.dig('message').present?
|
683
685
|
when /^POST::400::\/query\/jobs$/ #Create DQ job
|
684
686
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(body.dig('message'), response) if body.dig('message').present?
|
@@ -741,7 +743,7 @@ module ZuoraAPI
|
|
741
743
|
end
|
742
744
|
|
743
745
|
#Oauth Tokens - User deactivated
|
744
|
-
if body['path'] == '/oauth/token'
|
746
|
+
if body['path'] == '/oauth/token'
|
745
747
|
if body['status'] == 403 && response.code == 403
|
746
748
|
raise ZuoraAPI::Exceptions::ZuoraAPISessionError.new("Forbidden", response)
|
747
749
|
elsif body['status'] == 400 && response.code == 400 && body['message'].include?("Invalid client id")
|
@@ -752,7 +754,7 @@ module ZuoraAPI
|
|
752
754
|
if body['error'] == 'Unauthorized' && body['status'] == 401
|
753
755
|
if body['message'].present?
|
754
756
|
raise ZuoraAPI::Exceptions::ZuoraAPISessionError.new(body['message'], response)
|
755
|
-
else
|
757
|
+
else
|
756
758
|
raise ZuoraAPI::Exceptions::ZuoraAPISessionError.new("#{messages_array.join(', ')}", response)
|
757
759
|
end
|
758
760
|
end
|
@@ -777,7 +779,7 @@ module ZuoraAPI
|
|
777
779
|
end
|
778
780
|
#Internal Server Error
|
779
781
|
if codes_array.map{|code| code.to_s.slice(6,7).to_i}.include?(60)
|
780
|
-
if messages_array.uniq.size == 1
|
782
|
+
if messages_array.uniq.size == 1
|
781
783
|
if messages_array.first.match(/^Transaction declined.*|^There is an invoice pending tax.*|^The Zuora GetTax call to Avalara.*|^The tax calculation call to Zuora Connect returned the following error: Status Code: 4.*/)
|
782
784
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(messages_array.first, response)
|
783
785
|
end
|
@@ -850,17 +852,17 @@ module ZuoraAPI
|
|
850
852
|
self.errors_via_content_type(response: response, type: :json)
|
851
853
|
|
852
854
|
#All other errors
|
853
|
-
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(response.body, response) if ![200,201].include?(response.code)
|
855
|
+
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(response.body, response) if ![200,201].include?(response.code)
|
854
856
|
end
|
855
857
|
end
|
856
858
|
|
857
859
|
def errors_via_content_type(response: nil, type: :xml)
|
858
860
|
response_content_types = response.headers.transform_keys(&:downcase).fetch('content-type', []).first || ""
|
859
|
-
|
861
|
+
|
860
862
|
if response_content_types.include?('application/json') && type != :json
|
861
863
|
output_json = JSON.parse(response.body)
|
862
864
|
self.raise_errors(type: :JSON, body: output_json, response: response)
|
863
|
-
|
865
|
+
|
864
866
|
elsif (response_content_types.include?('application/xml') || response_content_types.include?('text/xml') || response_content_types.include?('application/soap+xml')) and type != :xml
|
865
867
|
output_xml = Nokogiri::XML(response.body)
|
866
868
|
self.raise_errors(type: :SOAP, body: output_xml, response: response)
|
@@ -880,10 +882,10 @@ module ZuoraAPI
|
|
880
882
|
when /Service Unavailable/
|
881
883
|
raise ZuoraAPI::Exceptions::ZuoraAPIConnectionTimeout.new(error_message, response)
|
882
884
|
when /Client sent a bad request./, /Bad Request/, /403 Forbidden/
|
883
|
-
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(error_message, response)
|
885
|
+
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(error_message, response)
|
884
886
|
when /414 Request-URI Too Large/
|
885
887
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("Request URL is too long", response)
|
886
|
-
else
|
888
|
+
else
|
887
889
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(error_message, response)
|
888
890
|
end
|
889
891
|
end
|
@@ -893,7 +895,7 @@ module ZuoraAPI
|
|
893
895
|
|
894
896
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(response.body, response) if response.code == 500
|
895
897
|
end
|
896
|
-
|
898
|
+
|
897
899
|
|
898
900
|
def get_soap_error_and_message(body)
|
899
901
|
error = body.xpath('//fns:FaultCode', 'fns' =>'http://fault.api.zuora.com/').text
|
@@ -973,7 +975,7 @@ module ZuoraAPI
|
|
973
975
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new(message, response, errors, success)
|
974
976
|
end
|
975
977
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(message, response, errors, success)
|
976
|
-
else
|
978
|
+
else
|
977
979
|
raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new("Z:#{error}::#{message}", response, errors, success)
|
978
980
|
end
|
979
981
|
end
|
@@ -1093,7 +1095,7 @@ module ZuoraAPI
|
|
1093
1095
|
session_type: :basic,
|
1094
1096
|
timeout_retry: false,
|
1095
1097
|
timeout: 130,
|
1096
|
-
timeout_sleep_interval: self.timeout_sleep,
|
1098
|
+
timeout_sleep_interval: self.timeout_sleep,
|
1097
1099
|
multipart: false,
|
1098
1100
|
stream_body: false,
|
1099
1101
|
output_exception_messages: true,
|
@@ -1152,7 +1154,7 @@ module ZuoraAPI
|
|
1152
1154
|
end
|
1153
1155
|
Rails.logger.debug("Rest Call - Session Bad Auth type")
|
1154
1156
|
raise ex
|
1155
|
-
|
1157
|
+
|
1156
1158
|
rescue ZuoraAPI::Exceptions::ZuoraAPISessionError => ex
|
1157
1159
|
if !tries.zero? && z_session
|
1158
1160
|
tries -= 1
|
@@ -1169,13 +1171,13 @@ module ZuoraAPI
|
|
1169
1171
|
|
1170
1172
|
raise ex if errors.include?(ex.class)
|
1171
1173
|
return [output_json, response]
|
1172
|
-
|
1174
|
+
|
1173
1175
|
rescue *ZUORA_API_ERRORS => ex
|
1174
1176
|
raise ex if errors.include?(ex.class)
|
1175
|
-
|
1177
|
+
|
1176
1178
|
response = ex.response unless response
|
1177
1179
|
return [output_json, response]
|
1178
|
-
|
1180
|
+
|
1179
1181
|
rescue ZuoraAPI::Exceptions::BadEntityError => ex
|
1180
1182
|
raise ex
|
1181
1183
|
rescue *CONNECTION_EXCEPTIONS => ex
|
@@ -1187,8 +1189,8 @@ module ZuoraAPI
|
|
1187
1189
|
end
|
1188
1190
|
|
1189
1191
|
self.log(location: "Rest Call", exception: ex, message: "Timed out", level: :error) if output_exception_messages
|
1190
|
-
raise ex
|
1191
|
-
|
1192
|
+
raise ex
|
1193
|
+
|
1192
1194
|
rescue *CONNECTION_READ_EXCEPTIONS => ex
|
1193
1195
|
|
1194
1196
|
if !tries.zero?
|
@@ -1201,15 +1203,15 @@ module ZuoraAPI
|
|
1201
1203
|
retry
|
1202
1204
|
end
|
1203
1205
|
end
|
1204
|
-
|
1206
|
+
|
1205
1207
|
self.log(location: "Rest Call", exception: ex, message: "Timed out", level: :error) if output_exception_messages
|
1206
1208
|
ex = ZuoraAPI::Exceptions::ZuoraAPIReadTimeout.new("Received read/write timeout from 'https://#{rest_domain(endpoint: url)}'", nil, request) if ex.is_a?(Timeout::Error) && !ex.instance_of?(ZuoraAPI::Exceptions::ZuoraAPIReadTimeout)
|
1207
1209
|
raise ex
|
1208
1210
|
|
1209
1211
|
rescue => ex
|
1210
1212
|
raise ex
|
1211
|
-
ensure
|
1212
|
-
self.error_logger(ex) if defined?(ex)
|
1213
|
+
ensure
|
1214
|
+
self.error_logger(ex) if defined?(ex)
|
1213
1215
|
end
|
1214
1216
|
|
1215
1217
|
def update_create_tenant
|
@@ -1407,7 +1409,7 @@ module ZuoraAPI
|
|
1407
1409
|
end
|
1408
1410
|
end
|
1409
1411
|
end
|
1410
|
-
|
1412
|
+
|
1411
1413
|
id = output_xml.xpath('//ns1:Id', 'ns1' =>'http://api.zuora.com/').text
|
1412
1414
|
|
1413
1415
|
result = 'Waiting'
|
@@ -1451,7 +1453,7 @@ module ZuoraAPI
|
|
1451
1453
|
retry
|
1452
1454
|
end
|
1453
1455
|
raise ex
|
1454
|
-
|
1456
|
+
|
1455
1457
|
rescue *(CONNECTION_EXCEPTIONS + CONNECTION_READ_EXCEPTIONS) => ex
|
1456
1458
|
if !(tries -= 1).zero?
|
1457
1459
|
Rails.logger.info("Trace ID: #{z_track_id} Timed out will retry after 5 seconds")
|
data/lib/zuora_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zuora Strategic Solutions Group
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec_junit_formatter
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: webmock
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,16 +84,30 @@ dependencies:
|
|
70
84
|
name: simplecov
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - "
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: simplecov-cobertura
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
103
|
+
version: '0'
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
|
-
- - "
|
108
|
+
- - ">="
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: ougai
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,7 +173,7 @@ dependencies:
|
|
145
173
|
version: 4.1.0
|
146
174
|
- - "<"
|
147
175
|
- !ruby/object:Gem::Version
|
148
|
-
version: '6.
|
176
|
+
version: '6.2'
|
149
177
|
type: :runtime
|
150
178
|
prerelease: false
|
151
179
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -155,7 +183,7 @@ dependencies:
|
|
155
183
|
version: 4.1.0
|
156
184
|
- - "<"
|
157
185
|
- !ruby/object:Gem::Version
|
158
|
-
version: '6.
|
186
|
+
version: '6.2'
|
159
187
|
description: Gem that provides easy integration to Zuora
|
160
188
|
email:
|
161
189
|
- connect@zuora.com
|
@@ -191,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
219
|
- !ruby/object:Gem::Version
|
192
220
|
version: '0'
|
193
221
|
requirements: []
|
194
|
-
rubygems_version: 3.
|
222
|
+
rubygems_version: 3.2.15
|
195
223
|
signing_key:
|
196
224
|
specification_version: 4
|
197
225
|
summary: Gem that provides easy integration to Zuora
|