zuora_connect 2.0.45 → 2.0.46a
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/zuora_connect/app_instance_base.rb +42 -36
- data/db/migrate/20190520232224_add_environment_fields.rb +13 -0
- data/lib/logging/connect_formatter.rb +6 -1
- data/lib/resque/dynamic_queues.rb +8 -3
- data/lib/zuora_connect.rb +0 -20
- data/lib/zuora_connect/railtie.rb +1 -1
- data/lib/zuora_connect/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a34f4afae372d7790b9304b6513451ab159dfebd4aaf4b0ac9d4eb1815a506f2
|
4
|
+
data.tar.gz: 032b9cc5dabbaac3e8a0c873b8511fe273a499909c51a5744ed2c9583db2c965
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d3bb428adef914f118c7ffacdaad023fc9bae36d689ea76757a6c244be38f74fc7ff0f3dba8b0e8b5cadc61509ea0e2f7200984a446dfd5f3daaf005aaf80a7
|
7
|
+
data.tar.gz: 06dccc05037fe18c29501d2f9a5db21473e5e7492b80d525fa4c3c1abc1c3cae831ac206e32eea34a3d3022bb37697a8dfe164cfbabfb31c42f1d698f4cfda7f
|
@@ -56,6 +56,13 @@ module ZuoraConnect
|
|
56
56
|
raise "The instance refresh window cannot be greater than the instance cache period"
|
57
57
|
end
|
58
58
|
self.apartment_switch(nil, false)
|
59
|
+
|
60
|
+
if ZuoraConnect.logger.is_a?(Ougai::Logger)
|
61
|
+
ZuoraConnect.logger.with_fields.merge!(default_ougai_items)
|
62
|
+
end
|
63
|
+
if Rails.logger.is_a?(Ougai::Logger)
|
64
|
+
Rails.logger.with_fields.merge!(default_ougai_items)
|
65
|
+
end
|
59
66
|
end
|
60
67
|
|
61
68
|
def initialize_redis_placeholders
|
@@ -121,7 +128,7 @@ module ZuoraConnect
|
|
121
128
|
end
|
122
129
|
|
123
130
|
def default_ougai_items
|
124
|
-
return {app_instance_id: self.id}
|
131
|
+
return {app_instance_id: self.id, tenant_ids: self.zuora_tenant_ids, organization: self.organizations, environment: self.environment}
|
125
132
|
end
|
126
133
|
|
127
134
|
def new_session(session: self.data_lookup, username: self.access_token, password: self.refresh_token, holding_pattern: false, **args)
|
@@ -159,26 +166,26 @@ module ZuoraConnect
|
|
159
166
|
|
160
167
|
if session.empty?
|
161
168
|
self.new_session_message = "REFRESHING - Session Empty"
|
162
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
169
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
163
170
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
164
171
|
self.refresh(session: session)
|
165
172
|
|
166
173
|
elsif (self.id != session["appInstance"].to_i)
|
167
174
|
self.new_session_message = "REFRESHING - AppInstance ID(#{self.id}) does not match session id(#{session["appInstance"].to_i})"
|
168
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
175
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
169
176
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
170
177
|
self.refresh(session: session)
|
171
178
|
|
172
179
|
elsif session["#{self.id}::task_data"].blank?
|
173
180
|
self.new_session_message = "REFRESHING - Task Data Blank"
|
174
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
181
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
175
182
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
176
183
|
self.refresh(session: session)
|
177
184
|
|
178
185
|
elsif session["#{self.id}::last_refresh"].blank?
|
179
186
|
self.new_session_message = "REFRESHING - No Time on Cookie"
|
180
187
|
recoverable_session = true
|
181
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
188
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
182
189
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
183
190
|
self.refresh(session: session)
|
184
191
|
|
@@ -186,7 +193,7 @@ module ZuoraConnect
|
|
186
193
|
elsif (session["#{self.id}::last_refresh"].to_i < INSTANCE_REFRESH_WINDOW.ago.to_i) && self.mark_for_refresh
|
187
194
|
self.new_session_message = "REFRESHING - Session Old by #{time_expire.abs} second"
|
188
195
|
recoverable_session = true
|
189
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
196
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
190
197
|
self.refresh(session: session)
|
191
198
|
|
192
199
|
else
|
@@ -195,14 +202,14 @@ module ZuoraConnect
|
|
195
202
|
else
|
196
203
|
self.new_session_message = "REBUILDING - Expires in #{time_expire} seconds"
|
197
204
|
end
|
198
|
-
ZuoraConnect.logger.debug(self.new_session_message
|
205
|
+
ZuoraConnect.logger.debug(self.new_session_message)
|
199
206
|
self.build_task(task_data: session["#{self.id}::task_data"], session: session)
|
200
207
|
end
|
201
208
|
end
|
202
209
|
return self
|
203
210
|
rescue ZuoraConnect::Exceptions::HoldingPattern => ex
|
204
211
|
while self.marked_for_refresh?
|
205
|
-
ZuoraConnect.logger.info("Holding - Expires in #{self.reset_mark_expires_at}. '#{self.new_session_message}'"
|
212
|
+
ZuoraConnect.logger.info("Holding - Expires in #{self.reset_mark_expires_at}. '#{self.new_session_message}'")
|
206
213
|
sleep(HOLDING_PATTERN_SLEEP)
|
207
214
|
end
|
208
215
|
self.reload_attributes([:refresh_token, :oauth_expires_at, :access_token])
|
@@ -211,17 +218,17 @@ module ZuoraConnect
|
|
211
218
|
rescue ZuoraConnect::Exceptions::MissMatch => ex
|
212
219
|
self.delete_app_instance
|
213
220
|
session = {}
|
214
|
-
ZuoraConnect.logger.error(ex,
|
221
|
+
ZuoraConnect.logger.error(ex, app_instance_id_new: self.task_data['id'])
|
215
222
|
retry
|
216
223
|
rescue ZuoraConnect::Exceptions::InvalidCredentialSet => ex
|
217
224
|
raise
|
218
225
|
rescue => ex
|
219
226
|
if recoverable_session
|
220
|
-
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex
|
227
|
+
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex)
|
221
228
|
self.build_task(task_data: session["#{self.id}::task_data"], session: session)
|
222
229
|
return self
|
223
230
|
else
|
224
|
-
ZuoraConnect.logger.error("Failed new session", ex
|
231
|
+
ZuoraConnect.logger.error("Failed new session", ex)
|
225
232
|
raise
|
226
233
|
end
|
227
234
|
ensure
|
@@ -243,19 +250,18 @@ module ZuoraConnect
|
|
243
250
|
ElasticAPM.set_label(:organization, organizations.first)
|
244
251
|
end
|
245
252
|
end
|
246
|
-
self.logitem(item: {tenant_ids: tenants, organization: organizations})
|
247
253
|
|
248
254
|
params = {
|
249
|
-
:
|
250
|
-
:
|
251
|
-
:
|
255
|
+
name: self.task_data.dig('name'),
|
256
|
+
zuora_entity_ids: (self.task_data.dig(LOGIN_TENANT_DESTINATION,'entities') || []).map{|e| e['id']}.uniq,
|
257
|
+
zuora_tenant_ids: tenants.map(&:to_s).uniq,
|
258
|
+
organizations: organizations
|
252
259
|
}
|
253
260
|
if self.methods.include?(LOGIN_TENANT_DESTINATION.to_sym)
|
254
261
|
client = self.send(LOGIN_TENANT_DESTINATION).client
|
255
262
|
if defined?(client.rest_domain)
|
256
|
-
|
257
|
-
|
258
|
-
params.merge!({:zuora_domain => zuora_domain })
|
263
|
+
ZuoraConnect::RequestIdMiddleware.zuora_rest_domain = client.rest_domain
|
264
|
+
params.merge!({zuora_domain: client.rest_domain, environment: client.environment })
|
259
265
|
end
|
260
266
|
end
|
261
267
|
params = params.reject{|k,v| !self.attributes.keys.member?(k.to_s) || self[k] == v}
|
@@ -274,7 +280,7 @@ module ZuoraConnect
|
|
274
280
|
response = HTTParty.get(ZuoraConnect.configuration.url + "/api/#{self.api_version}/tools/tasks/#{self.id}.json",:body => {:access_token => self.access_token})
|
275
281
|
response_time = Time.now - start
|
276
282
|
|
277
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}"
|
283
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}")
|
278
284
|
if response.code == 200
|
279
285
|
begin
|
280
286
|
parsed_json = JSON.parse(response.body)
|
@@ -306,26 +312,26 @@ module ZuoraConnect
|
|
306
312
|
refresh_count += 1
|
307
313
|
if refresh_count < 3
|
308
314
|
sleep(10)
|
309
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex
|
315
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex)
|
310
316
|
retry
|
311
317
|
else
|
312
|
-
ZuoraConnect.logger.fatal("REFRESH TASK - Connection Failed", ex
|
318
|
+
ZuoraConnect.logger.fatal("REFRESH TASK - Connection Failed", ex)
|
313
319
|
raise
|
314
320
|
end
|
315
321
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
316
322
|
refresh_count += 1
|
317
323
|
if refresh_count < 3
|
318
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex
|
324
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex)
|
319
325
|
self.refresh_oauth if ex.code == 401
|
320
326
|
retry
|
321
327
|
else
|
322
|
-
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex
|
328
|
+
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex)
|
323
329
|
raise
|
324
330
|
end
|
325
331
|
end
|
326
332
|
rescue => ex
|
327
333
|
if self['zuora_logins'].present?
|
328
|
-
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex
|
334
|
+
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex)
|
329
335
|
skip_connect = true
|
330
336
|
retry
|
331
337
|
end
|
@@ -637,7 +643,7 @@ module ZuoraConnect
|
|
637
643
|
def check_oauth_state(method=nil)
|
638
644
|
#Refresh token if already expired
|
639
645
|
if self.oauth_expired?
|
640
|
-
ZuoraConnect.logger.debug("Before '#{method}' method, Oauth expired"
|
646
|
+
ZuoraConnect.logger.debug("Before '#{method}' method, Oauth expired")
|
641
647
|
self.refresh_oauth
|
642
648
|
end
|
643
649
|
end
|
@@ -656,7 +662,7 @@ module ZuoraConnect
|
|
656
662
|
}
|
657
663
|
response = HTTParty.post("#{ZuoraConnect.configuration.url}/oauth/token",:body => params)
|
658
664
|
response_time = Time.now - start
|
659
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - In #{response_time.round(2).to_s}"
|
665
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - In #{response_time.round(2).to_s}")
|
660
666
|
|
661
667
|
if response.code == 200
|
662
668
|
response_body = JSON.parse(response.body)
|
@@ -671,10 +677,10 @@ module ZuoraConnect
|
|
671
677
|
rescue *(ZuoraAPI::Login::CONNECTION_EXCEPTIONS + ZuoraAPI::Login::CONNECTION_READ_EXCEPTIONS) => ex
|
672
678
|
if (refresh_oauth_count += 1) < 3
|
673
679
|
sleep(5)
|
674
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex
|
680
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex)
|
675
681
|
retry
|
676
682
|
else
|
677
|
-
ZuoraConnect.logger.fatal("REFRESH OAUTH - Connection Failed", ex
|
683
|
+
ZuoraConnect.logger.fatal("REFRESH OAUTH - Connection Failed", ex)
|
678
684
|
raise
|
679
685
|
end
|
680
686
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
@@ -685,10 +691,10 @@ module ZuoraConnect
|
|
685
691
|
return if !self.oauth_expired?
|
686
692
|
|
687
693
|
if (refresh_oauth_count += 1) < 3
|
688
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex
|
694
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex)
|
689
695
|
retry
|
690
696
|
else
|
691
|
-
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex
|
697
|
+
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex)
|
692
698
|
raise
|
693
699
|
end
|
694
700
|
end
|
@@ -738,10 +744,10 @@ module ZuoraConnect
|
|
738
744
|
end
|
739
745
|
end
|
740
746
|
if cached_instance.blank?
|
741
|
-
ZuoraConnect.logger.debug("Cached AppInstance Missing"
|
747
|
+
ZuoraConnect.logger.debug("Cached AppInstance Missing")
|
742
748
|
return session
|
743
749
|
else
|
744
|
-
ZuoraConnect.logger.debug("Cached AppInstance Found"
|
750
|
+
ZuoraConnect.logger.debug("Cached AppInstance Found")
|
745
751
|
return decrypt_data(data: cached_instance, rescue_return: session).merge(session)
|
746
752
|
end
|
747
753
|
else
|
@@ -757,7 +763,7 @@ module ZuoraConnect
|
|
757
763
|
if defined?(Redis.current)
|
758
764
|
#Task data must be present and the last refresh cannot be old. We dont want to overwite new cache data with old
|
759
765
|
if self.task_data.present? && (self.last_refresh.to_i > INSTANCE_REFRESH_WINDOW.ago.to_i)
|
760
|
-
ZuoraConnect.logger.debug("Caching AppInstance"
|
766
|
+
ZuoraConnect.logger.debug("Caching AppInstance")
|
761
767
|
Redis.current.setex("AppInstance:#{self.id}", INSTANCE_REDIS_CACHE_PERIOD.to_i, self.encrypt_data(data: self.save_data))
|
762
768
|
end
|
763
769
|
end
|
@@ -821,10 +827,10 @@ module ZuoraConnect
|
|
821
827
|
begin
|
822
828
|
return JSON.parse(encryptor.decrypt_and_verify(CGI::unescape(data)))
|
823
829
|
rescue ActiveSupport::MessageVerifier::InvalidSignature => ex
|
824
|
-
ZuoraConnect.logger.error("Error Decrypting", ex
|
830
|
+
ZuoraConnect.logger.error("Error Decrypting", ex) if log_fatal
|
825
831
|
return rescue_return
|
826
832
|
rescue JSON::ParserError => ex
|
827
|
-
ZuoraConnect.logger.error("JSON Parse Error", ex
|
833
|
+
ZuoraConnect.logger.error("JSON Parse Error", ex) if log_fatal
|
828
834
|
return encryptor.decrypt_and_verify(CGI::unescape(data))
|
829
835
|
end
|
830
836
|
end
|
@@ -1185,7 +1191,7 @@ module ZuoraConnect
|
|
1185
1191
|
|
1186
1192
|
def method_missing(method_sym, *arguments, &block)
|
1187
1193
|
if method_sym.to_s.include?("login")
|
1188
|
-
ZuoraConnect.logger.fatal("Method Missing #{method_sym}. Instance Data: #{self.task_data} Instance Logins: #{self.logins}"
|
1194
|
+
ZuoraConnect.logger.fatal("Method Missing #{method_sym}. Instance Data: #{self.task_data} Instance Logins: #{self.logins}")
|
1189
1195
|
end
|
1190
1196
|
super
|
1191
1197
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddEnvironmentFields < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
unless column_exists? :zuora_connect_app_instances, :environment
|
4
|
+
add_column :zuora_connect_app_instances, :environment, :text, default: ""
|
5
|
+
end
|
6
|
+
unless column_exists? :zuora_connect_app_instances, :organizations
|
7
|
+
add_column :zuora_connect_app_instances, :organizations, :jsonb, default: []
|
8
|
+
end
|
9
|
+
if column_exists? :zuora_connect_app_instances, :organizations
|
10
|
+
change_column :zuora_connect_app_instances, :organizations, :jsonb, default: []
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -23,12 +23,17 @@ module Ougai
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def _call(severity, time, progname, data)
|
26
|
+
data.merge!({message: data.delete(:msg)})
|
27
|
+
if data[:timestamp].present?
|
28
|
+
time = data[:timestamp]
|
29
|
+
data.delete(:timestamp)
|
30
|
+
end
|
26
31
|
dump({
|
27
32
|
name: progname || @app_name,
|
28
33
|
pid: $$,
|
29
34
|
level: severity,
|
30
35
|
timestamp: time.utc.strftime('%FT%T.%6NZ'),
|
31
|
-
}.merge(data
|
36
|
+
}.merge(data))
|
32
37
|
end
|
33
38
|
|
34
39
|
def convert_time(data)
|
@@ -83,10 +83,15 @@ module Resque
|
|
83
83
|
else
|
84
84
|
return reserve_without_round_robin
|
85
85
|
end
|
86
|
+
|
86
87
|
|
87
|
-
rescue Exception =>
|
88
|
-
|
89
|
-
|
88
|
+
rescue Exception => ex
|
89
|
+
if defined?(Ougai::Logger) && Resque.logger.is_a?(Ougai::Logger)
|
90
|
+
log_with_severity :error, "Error reserving job", ex
|
91
|
+
else
|
92
|
+
log_with_severity :error, "Error reserving job: #{ex.inspect}"
|
93
|
+
log_with_severity :error, ex.backtrace.join("\n")
|
94
|
+
end
|
90
95
|
raise e
|
91
96
|
end
|
92
97
|
|
data/lib/zuora_connect.rb
CHANGED
@@ -41,16 +41,6 @@ module ZuoraConnect
|
|
41
41
|
data[:trace_id] = ZuoraConnect::RequestIdMiddleware.request_id if ZuoraConnect::RequestIdMiddleware.request_id.present?
|
42
42
|
data[:zuora_trace_id] = ZuoraConnect::RequestIdMiddleware.zuora_request_id if ZuoraConnect::RequestIdMiddleware.zuora_request_id.present?
|
43
43
|
#data[:traces] = {amazon_id: data[:trace_id], zuora_id: data[:zuora_trace_id]}
|
44
|
-
if !['ElasticAPM', 'ResqueScheduler', 'ResquePool', 'Resque', 'Makara'].include?(name)
|
45
|
-
if Thread.current[:appinstance].present? && Thread.current[:appinstance].id.present?
|
46
|
-
data[:app_instance_id] = Thread.current[:appinstance].id
|
47
|
-
logitems = Thread.current[:appinstance].logitems
|
48
|
-
if logitems.present? && logitems.class == Hash
|
49
|
-
data[:tenant_ids] = logitems[:tenant_ids] if logitems[:tenant_ids].present?
|
50
|
-
data[:organization] = logitems[:organization] if logitems[:organization].present?
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
44
|
end
|
55
45
|
else
|
56
46
|
logger.formatter = Ougai::Formatters::Customizable.new(
|
@@ -86,16 +76,6 @@ module ZuoraConnect
|
|
86
76
|
pid: Process.pid,
|
87
77
|
message: name == "ActionMailer" ? msg.strip : msg
|
88
78
|
}
|
89
|
-
if !['ElasticAPM', 'ResqueScheduler', 'ResquePool','Resque', 'Makara'].include?(name)
|
90
|
-
if Thread.current[:appinstance].present? && Thread.current[:appinstance].id.present?
|
91
|
-
store[:app_instance_id] = Thread.current[:appinstance].id
|
92
|
-
logitems = Thread.current[:appinstance].logitems
|
93
|
-
if logitems.present? && logitems.class == Hash
|
94
|
-
store[:tenant_ids] = logitems[:tenant_ids] if logitems[:tenant_ids].present?
|
95
|
-
store[:organization] = logitems[:organization] if logitems[:organization].present?
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
79
|
JSON.dump(store) + "\n"
|
100
80
|
else
|
101
81
|
format('%s %s: %s', serverity.ljust(6), datetime, msg) + "\n"
|
@@ -62,7 +62,7 @@ module ZuoraConnect
|
|
62
62
|
items.merge!({exception: event.payload[:exception]}) if event.payload[:exception].present?
|
63
63
|
|
64
64
|
if Thread.current[:appinstance].present?
|
65
|
-
items.merge!({
|
65
|
+
items.merge!({connect_user: Thread.current[:appinstance].connect_user, new_session: Thread.current[:appinstance].new_session_message})
|
66
66
|
if Thread.current[:appinstance].logitems.present? && Thread.current[:appinstance].logitems.class == Hash
|
67
67
|
items.merge!(Thread.current[:appinstance].logitems)
|
68
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.46a
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Connect Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apartment
|
@@ -338,6 +338,7 @@ files:
|
|
338
338
|
- db/migrate/20190520232221_add_zuora_user_table_and_alter_app_instance_id_table.rb
|
339
339
|
- db/migrate/20190520232222_add_unique_index.rb
|
340
340
|
- db/migrate/20190520232223_add_provisioning_fields.rb
|
341
|
+
- db/migrate/20190520232224_add_environment_fields.rb
|
341
342
|
- lib/logging/connect_formatter.rb
|
342
343
|
- lib/metrics/influx/point_value.rb
|
343
344
|
- lib/metrics/net.rb
|
@@ -413,9 +414,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
413
414
|
version: '0'
|
414
415
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
415
416
|
requirements:
|
416
|
-
- - "
|
417
|
+
- - ">"
|
417
418
|
- !ruby/object:Gem::Version
|
418
|
-
version:
|
419
|
+
version: 1.3.1
|
419
420
|
requirements: []
|
420
421
|
rubygems_version: 3.0.3
|
421
422
|
signing_key:
|