umbrellio-utils 0.6.2 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f9bf2d2029e95f5036e94891e9eb7880ccd3008a6276841edaa1eb4dc4a8c4d
4
- data.tar.gz: 9e2b59f9badb3358751916847aef57345c6108dceb24001f559a6449593aaed8
3
+ metadata.gz: 775bfbed71a46193690194debe62228e56f7e134abafbf08171dbb7fa2130683
4
+ data.tar.gz: b231a19dc0360444b68efd237b2ebc24016cdaa2d3e4f1082310919a25f67f60
5
5
  SHA512:
6
- metadata.gz: 97bf35d68402b7ff28fbdd0f2b6ee6eae0e5267185640ca42639562fc3d1eb9dfe7874e0b8c969c989381476d76d8b0052f1b674ee5d367afedcc434ddf4e925
7
- data.tar.gz: 47c973bda46d8a7f518a57be0a6f90e6177a2cb11037cc1af3aac487dd1cf03b75e4ec535560ddfdf8985824bbb6102d16c2aac7f3c69b06ee9d89949d71924d
6
+ metadata.gz: 8cf08d855ecbdacc2a6e5843eb358c76bb8101fe50ffb9bd21468782b7d797a2d0a7efa23c082933bb00732c5ecd6bc91e6acc79e1a13f1cd0fc6787eb21e93d
7
+ data.tar.gz: d51dc93af899f70612ce5d0476d8866327c4b1c14678cb994b08cd33f4d8aee245ffd6b4ff70d62c206a1c99e4e12bca2bfdd8e6c8f63aa6aa0518c74da5767f
data/Gemfile.lock CHANGED
@@ -1,61 +1,188 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- umbrellio-utils (0.6.2)
4
+ umbrellio-utils (0.7.0)
5
5
  memery (~> 1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ actioncable (7.0.4.2)
11
+ actionpack (= 7.0.4.2)
12
+ activesupport (= 7.0.4.2)
13
+ nio4r (~> 2.0)
14
+ websocket-driver (>= 0.6.1)
15
+ actionmailbox (7.0.4.2)
16
+ actionpack (= 7.0.4.2)
17
+ activejob (= 7.0.4.2)
18
+ activerecord (= 7.0.4.2)
19
+ activestorage (= 7.0.4.2)
20
+ activesupport (= 7.0.4.2)
21
+ mail (>= 2.7.1)
22
+ net-imap
23
+ net-pop
24
+ net-smtp
25
+ actionmailer (7.0.4.2)
26
+ actionpack (= 7.0.4.2)
27
+ actionview (= 7.0.4.2)
28
+ activejob (= 7.0.4.2)
29
+ activesupport (= 7.0.4.2)
30
+ mail (~> 2.5, >= 2.5.4)
31
+ net-imap
32
+ net-pop
33
+ net-smtp
34
+ rails-dom-testing (~> 2.0)
35
+ actionpack (7.0.4.2)
36
+ actionview (= 7.0.4.2)
37
+ activesupport (= 7.0.4.2)
38
+ rack (~> 2.0, >= 2.2.0)
39
+ rack-test (>= 0.6.3)
40
+ rails-dom-testing (~> 2.0)
41
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
42
+ actiontext (7.0.4.2)
43
+ actionpack (= 7.0.4.2)
44
+ activerecord (= 7.0.4.2)
45
+ activestorage (= 7.0.4.2)
46
+ activesupport (= 7.0.4.2)
47
+ globalid (>= 0.6.0)
48
+ nokogiri (>= 1.8.5)
49
+ actionview (7.0.4.2)
50
+ activesupport (= 7.0.4.2)
51
+ builder (~> 3.1)
52
+ erubi (~> 1.4)
53
+ rails-dom-testing (~> 2.0)
54
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
55
+ activejob (7.0.4.2)
56
+ activesupport (= 7.0.4.2)
57
+ globalid (>= 0.3.6)
58
+ activemodel (7.0.4.2)
59
+ activesupport (= 7.0.4.2)
60
+ activerecord (7.0.4.2)
61
+ activemodel (= 7.0.4.2)
62
+ activesupport (= 7.0.4.2)
63
+ activestorage (7.0.4.2)
64
+ actionpack (= 7.0.4.2)
65
+ activejob (= 7.0.4.2)
66
+ activerecord (= 7.0.4.2)
67
+ activesupport (= 7.0.4.2)
68
+ marcel (~> 1.0)
69
+ mini_mime (>= 1.1.0)
10
70
  activesupport (7.0.4.2)
11
71
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
72
  i18n (>= 1.6, < 2)
13
73
  minitest (>= 5.1)
14
74
  tzinfo (~> 2.0)
15
75
  amazing_print (1.4.0)
76
+ amq-protocol (2.3.2)
16
77
  ast (2.4.2)
78
+ builder (3.2.4)
17
79
  bundler-audit (0.9.1)
18
80
  bundler (>= 1.2.0, < 3)
19
81
  thor (~> 1.0)
82
+ bunny (2.20.3)
83
+ amq-protocol (~> 2.3, >= 2.3.1)
84
+ sorted_set (~> 1, >= 1.0.2)
20
85
  ci-helper (0.5.0)
21
86
  colorize (~> 0.8)
22
87
  dry-inflector (~> 0.2)
23
88
  umbrellio-sequel-plugins (~> 0.4)
24
89
  coderay (1.1.3)
25
90
  colorize (0.8.1)
26
- concurrent-ruby (1.2.0)
91
+ concurrent-ruby (1.2.2)
92
+ crass (1.0.6)
93
+ date (3.3.3)
27
94
  diff-lcs (1.5.0)
28
95
  docile (1.4.0)
29
96
  dry-inflector (0.3.0)
97
+ erubi (1.12.0)
98
+ globalid (1.1.0)
99
+ activesupport (>= 5.0)
30
100
  i18n (1.12.0)
31
101
  concurrent-ruby (~> 1.0)
32
102
  json (2.6.3)
103
+ lamian (1.7.0)
104
+ rails (>= 4.2)
105
+ loofah (2.19.1)
106
+ crass (~> 1.0.2)
107
+ nokogiri (>= 1.5.9)
108
+ mail (2.8.1)
109
+ mini_mime (>= 0.1.1)
110
+ net-imap
111
+ net-pop
112
+ net-smtp
113
+ marcel (1.0.2)
33
114
  memery (1.4.1)
34
115
  ruby2_keywords (~> 0.0.2)
35
116
  method_source (1.0.0)
117
+ mini_mime (1.1.2)
36
118
  mini_portile2 (2.8.1)
37
- minitest (5.17.0)
38
- nokogiri (1.14.1)
119
+ minitest (5.18.0)
120
+ net-imap (0.3.4)
121
+ date
122
+ net-protocol
123
+ net-pop (0.1.2)
124
+ net-protocol
125
+ net-protocol (0.2.1)
126
+ timeout
127
+ net-smtp (0.3.3)
128
+ net-protocol
129
+ nio4r (2.5.8)
130
+ nokogiri (1.14.2)
39
131
  mini_portile2 (~> 2.8.0)
40
132
  racc (~> 1.4)
41
- nokogiri (1.14.1-arm64-darwin)
133
+ nokogiri (1.14.2-arm64-darwin)
42
134
  racc (~> 1.4)
43
- nokogiri (1.14.1-x86_64-darwin)
135
+ nokogiri (1.14.2-x86_64-darwin)
44
136
  racc (~> 1.4)
45
- nokogiri (1.14.1-x86_64-linux)
137
+ nokogiri (1.14.2-x86_64-linux)
46
138
  racc (~> 1.4)
47
139
  nori (2.6.0)
48
140
  parallel (1.22.1)
49
- parser (3.2.1.0)
141
+ parser (3.2.1.1)
50
142
  ast (~> 2.4.1)
51
- pg (1.4.5)
143
+ pg (1.4.6)
52
144
  pry (0.14.2)
53
145
  coderay (~> 1.1)
54
146
  method_source (~> 1.0)
147
+ rabbit_messaging (0.13.0)
148
+ bunny (~> 2.0)
149
+ lamian
150
+ rails (>= 5.2)
151
+ sneakers (~> 2.0)
152
+ tainbox
55
153
  racc (1.6.2)
56
- rack (3.0.4.1)
154
+ rack (2.2.6.3)
155
+ rack-test (2.0.2)
156
+ rack (>= 1.3)
157
+ rails (7.0.4.2)
158
+ actioncable (= 7.0.4.2)
159
+ actionmailbox (= 7.0.4.2)
160
+ actionmailer (= 7.0.4.2)
161
+ actionpack (= 7.0.4.2)
162
+ actiontext (= 7.0.4.2)
163
+ actionview (= 7.0.4.2)
164
+ activejob (= 7.0.4.2)
165
+ activemodel (= 7.0.4.2)
166
+ activerecord (= 7.0.4.2)
167
+ activestorage (= 7.0.4.2)
168
+ activesupport (= 7.0.4.2)
169
+ bundler (>= 1.15.0)
170
+ railties (= 7.0.4.2)
171
+ rails-dom-testing (2.0.3)
172
+ activesupport (>= 4.2.0)
173
+ nokogiri (>= 1.6)
174
+ rails-html-sanitizer (1.5.0)
175
+ loofah (~> 2.19, >= 2.19.1)
176
+ railties (7.0.4.2)
177
+ actionpack (= 7.0.4.2)
178
+ activesupport (= 7.0.4.2)
179
+ method_source
180
+ rake (>= 12.2)
181
+ thor (~> 1.0)
182
+ zeitwerk (~> 2.5)
57
183
  rainbow (3.1.1)
58
184
  rake (13.0.6)
185
+ rbtree (0.4.6)
59
186
  regexp_parser (2.7.0)
60
187
  rexml (3.2.5)
61
188
  rspec (3.12.0)
@@ -84,8 +211,8 @@ GEM
84
211
  rubocop-ast (>= 1.24.1, < 2.0)
85
212
  ruby-progressbar (~> 1.7)
86
213
  unicode-display_width (>= 2.4.0, < 3.0)
87
- rubocop-ast (1.24.1)
88
- parser (>= 3.1.1.0)
214
+ rubocop-ast (1.27.0)
215
+ parser (>= 3.2.1.0)
89
216
  rubocop-config-umbrellio (1.43.0.81)
90
217
  rubocop (~> 1.43.0)
91
218
  rubocop-performance (~> 1.15.0)
@@ -106,11 +233,18 @@ GEM
106
233
  rubocop (~> 1.33)
107
234
  rubocop-sequel (0.3.4)
108
235
  rubocop (~> 1.0)
109
- ruby-progressbar (1.11.0)
236
+ ruby-progressbar (1.13.0)
110
237
  ruby2_keywords (0.0.5)
238
+ self_data (1.3.0)
111
239
  semantic_logger (4.12.0)
112
240
  concurrent-ruby (~> 1.0)
113
- sequel (5.65.0)
241
+ sequel (5.66.0)
242
+ sequel-batches (2.0.2)
243
+ sequel
244
+ serverengine (2.0.7)
245
+ sigdump (~> 0.2.2)
246
+ set (1.0.3)
247
+ sigdump (0.2.4)
114
248
  simplecov (0.22.0)
115
249
  docile (~> 1.1)
116
250
  simplecov-html (~> 0.11)
@@ -118,9 +252,26 @@ GEM
118
252
  simplecov-html (0.12.3)
119
253
  simplecov-lcov (0.8.0)
120
254
  simplecov_json_formatter (0.1.4)
255
+ sneakers (2.11.0)
256
+ bunny (~> 2.12)
257
+ concurrent-ruby (~> 1.0)
258
+ rake
259
+ serverengine (~> 2.0.5)
260
+ thor
261
+ sorted_set (1.0.3)
262
+ rbtree
263
+ set (~> 1.0)
121
264
  symbiont-ruby (0.7.0)
265
+ table_sync (6.1.0)
266
+ memery
267
+ rabbit_messaging
268
+ rails
269
+ self_data
270
+ tainbox (2.1.2)
271
+ activesupport
122
272
  thor (1.2.1)
123
273
  timecop (0.9.6)
274
+ timeout (0.3.2)
124
275
  tzinfo (2.0.6)
125
276
  concurrent-ruby (~> 1.0)
126
277
  umbrellio-sequel-plugins (0.11.0.143)
@@ -128,8 +279,12 @@ GEM
128
279
  symbiont-ruby
129
280
  unicode-display_width (2.4.2)
130
281
  webrick (1.7.0)
282
+ websocket-driver (0.7.5)
283
+ websocket-extensions (>= 0.1.0)
284
+ websocket-extensions (0.1.5)
131
285
  yard (0.9.28)
132
286
  webrick (~> 1.7.0)
287
+ zeitwerk (2.6.7)
133
288
 
134
289
  PLATFORMS
135
290
  arm64-darwin-20
@@ -153,8 +308,10 @@ DEPENDENCIES
153
308
  rubocop-config-umbrellio
154
309
  semantic_logger
155
310
  sequel
311
+ sequel-batches
156
312
  simplecov
157
313
  simplecov-lcov
314
+ table_sync
158
315
  timecop
159
316
  umbrellio-utils!
160
317
  yard
@@ -6,14 +6,15 @@ module UmbrellioUtils
6
6
 
7
7
  def table_sync(scope, delay: 1, routing_key: nil)
8
8
  scope.in_batches do |batch|
9
- batch.each do |model|
10
- next if model.try(:skip_table_sync?)
9
+ batch_for_sync = batch.all.reject { |model| model.try(:skip_table_sync?) }
10
+ next if batch_for_sync.empty?
11
11
 
12
- values = [model.class.name, model.values]
13
- publisher = TableSync::Publishing::Publisher.new(*values, confirm: false)
14
- publisher.routing_key = routing_key if routing_key
15
- publisher.publish_now
16
- end
12
+ model_class = batch_for_sync.first.class.name
13
+ TableSync::Publishing::Batch.new(
14
+ object_class: model_class,
15
+ original_attributes: batch_for_sync.map(&:values),
16
+ routing_key: routing_key,
17
+ ).publish_now
17
18
 
18
19
  sleep delay
19
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UmbrellioUtils
4
- VERSION = "0.6.2"
4
+ VERSION = "0.7.0"
5
5
  end
@@ -43,8 +43,10 @@ Gem::Specification.new do |spec|
43
43
  spec.add_development_dependency "rubocop-config-umbrellio"
44
44
  spec.add_development_dependency "semantic_logger"
45
45
  spec.add_development_dependency "sequel"
46
+ spec.add_development_dependency "sequel-batches"
46
47
  spec.add_development_dependency "simplecov"
47
48
  spec.add_development_dependency "simplecov-lcov"
49
+ spec.add_development_dependency "table_sync"
48
50
  spec.add_development_dependency "timecop"
49
51
  spec.add_development_dependency "yard"
50
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: umbrellio-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JustAnotherDude
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-15 00:00:00.000000000 Z
11
+ date: 2023-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: memery
@@ -220,6 +220,20 @@ dependencies:
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: sequel-batches
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: simplecov
225
239
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +262,20 @@ dependencies:
248
262
  - - ">="
249
263
  - !ruby/object:Gem::Version
250
264
  version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: table_sync
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
251
279
  - !ruby/object:Gem::Dependency
252
280
  name: timecop
253
281
  requirement: !ruby/object:Gem::Requirement
@@ -338,7 +366,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
338
366
  - !ruby/object:Gem::Version
339
367
  version: '0'
340
368
  requirements: []
341
- rubygems_version: 3.4.6
369
+ rubygems_version: 3.4.7
342
370
  signing_key:
343
371
  specification_version: 4
344
372
  summary: A set of utilities that speed up development