webhukhs 0.7.0 → 0.8.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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.yard-lint.yml +1 -0
  3. data/AGENTS.md +9 -11
  4. data/Appraisals +2 -2
  5. data/CHANGELOG.md +13 -0
  6. data/README.md +98 -10
  7. data/Rakefile +7 -0
  8. data/example/Gemfile +5 -6
  9. data/example/Gemfile.lock +260 -141
  10. data/example/app/webhooks/acme_handler.rb +16 -0
  11. data/example/app/webhooks/flaky_handler.rb +8 -0
  12. data/example/app/webhooks/signed_handler.rb +10 -0
  13. data/example/config/initializers/webhukhs.rb +4 -3
  14. data/example/config/routes.rb +3 -0
  15. data/example/db/migrate/20240601000000_add_headers_to_webhukhs_webhooks.rb +7 -0
  16. data/example/db/schema.rb +2 -1
  17. data/example/db/seeds.rb +71 -7
  18. data/gemfiles/{rails_7.1.gemfile → rails_7.2.gemfile} +1 -4
  19. data/gemfiles/rails_7.2.gemfile.lock +477 -0
  20. data/gemfiles/rails_8.0.gemfile +0 -3
  21. data/gemfiles/rails_8.0.gemfile.lock +74 -4
  22. data/gemfiles/rails_8.1.gemfile +0 -3
  23. data/gemfiles/rails_8.1.gemfile.lock +74 -4
  24. data/gemfiles/rails_master.gemfile +0 -3
  25. data/lib/webhukhs/admin/application_controller.rb +32 -0
  26. data/lib/webhukhs/admin/assets/admin.css +476 -0
  27. data/lib/webhukhs/admin/assets/admin.js +111 -0
  28. data/lib/webhukhs/admin/config/routes.rb +6 -0
  29. data/lib/webhukhs/admin/engine.rb +20 -0
  30. data/lib/webhukhs/admin/received_webhook_presenter.rb +63 -0
  31. data/lib/webhukhs/admin/received_webhooks_controller.rb +60 -0
  32. data/lib/webhukhs/admin/view_helper.rb +50 -0
  33. data/lib/webhukhs/admin/views/layouts/webhukhs/admin/application.html.erb +22 -0
  34. data/lib/webhukhs/admin/views/webhukhs/admin/received_webhooks/index.html.erb +50 -0
  35. data/lib/webhukhs/admin/views/webhukhs/admin/received_webhooks/show.html.erb +55 -0
  36. data/lib/webhukhs/admin.rb +17 -0
  37. data/lib/webhukhs/engine.rb +0 -4
  38. data/lib/webhukhs/models/received_webhook.rb +3 -0
  39. data/lib/webhukhs/version.rb +1 -1
  40. data/test/admin_test.rb +334 -0
  41. data/test/base_handler_test.rb +3 -3
  42. data/test/browser/admin_click_through.rb +208 -0
  43. data/test/processing_job_test.rb +15 -28
  44. data/test/received_webhook_test.rb +16 -0
  45. data/test/test_app.rb +2 -0
  46. data/test/test_helper.rb +9 -6
  47. data/test/webhukhs_test.rb +20 -62
  48. metadata +165 -8
  49. data/example/.ruby-version +0 -1
  50. data/gemfiles/rails_7.1.gemfile.lock +0 -412
@@ -2,9 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "sqlite3"
6
- gem "sprockets-rails"
7
- gem "appraisal"
8
- gem "rails", "~> 7.1.0"
5
+ gem "rails", "~> 7.2.0"
9
6
 
10
7
  gemspec path: "../"
@@ -0,0 +1,477 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ webhukhs (0.7.0)
5
+ assiette (~> 0.6)
6
+ rails (>= 7.2)
7
+ state_machine_enum
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (7.2.4)
13
+ actionpack (= 7.2.4)
14
+ activesupport (= 7.2.4)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ zeitwerk (~> 2.6)
18
+ actionmailbox (7.2.4)
19
+ actionpack (= 7.2.4)
20
+ activejob (= 7.2.4)
21
+ activerecord (= 7.2.4)
22
+ activestorage (= 7.2.4)
23
+ activesupport (= 7.2.4)
24
+ mail (>= 2.8.0)
25
+ actionmailer (7.2.4)
26
+ actionpack (= 7.2.4)
27
+ actionview (= 7.2.4)
28
+ activejob (= 7.2.4)
29
+ activesupport (= 7.2.4)
30
+ mail (>= 2.8.0)
31
+ rails-dom-testing (~> 2.2)
32
+ actionpack (7.2.4)
33
+ actionview (= 7.2.4)
34
+ activesupport (= 7.2.4)
35
+ cgi
36
+ nokogiri (>= 1.8.5)
37
+ racc
38
+ rack (>= 2.2.4, < 3.3)
39
+ rack-session (>= 1.0.1)
40
+ rack-test (>= 0.6.3)
41
+ rails-dom-testing (~> 2.2)
42
+ rails-html-sanitizer (~> 1.6)
43
+ useragent (~> 0.16)
44
+ actiontext (7.2.4)
45
+ actionpack (= 7.2.4)
46
+ activerecord (= 7.2.4)
47
+ activestorage (= 7.2.4)
48
+ activesupport (= 7.2.4)
49
+ globalid (>= 0.6.0)
50
+ nokogiri (>= 1.8.5)
51
+ actionview (7.2.4)
52
+ activesupport (= 7.2.4)
53
+ builder (~> 3.1)
54
+ cgi
55
+ erubi (~> 1.11)
56
+ rails-dom-testing (~> 2.2)
57
+ rails-html-sanitizer (~> 1.6)
58
+ activejob (7.2.4)
59
+ activesupport (= 7.2.4)
60
+ globalid (>= 0.3.6)
61
+ activemodel (7.2.4)
62
+ activesupport (= 7.2.4)
63
+ activerecord (7.2.4)
64
+ activemodel (= 7.2.4)
65
+ activesupport (= 7.2.4)
66
+ timeout (>= 0.4.0)
67
+ activestorage (7.2.4)
68
+ actionpack (= 7.2.4)
69
+ activejob (= 7.2.4)
70
+ activerecord (= 7.2.4)
71
+ activesupport (= 7.2.4)
72
+ marcel (~> 1.0)
73
+ activesupport (7.2.4)
74
+ base64
75
+ benchmark (>= 0.3)
76
+ bigdecimal
77
+ concurrent-ruby (~> 1.0, >= 1.3.1)
78
+ connection_pool (>= 2.2.5, < 3)
79
+ drb
80
+ i18n (>= 1.6, < 2)
81
+ logger (>= 1.4.2)
82
+ minitest (>= 5.1, < 6)
83
+ securerandom (>= 0.3)
84
+ tzinfo (~> 2.0, >= 2.0.5)
85
+ addressable (2.9.0)
86
+ public_suffix (>= 2.0.2, < 8.0)
87
+ appraisal (2.5.0)
88
+ bundler
89
+ rake
90
+ thor (>= 0.14.0)
91
+ assiette (0.6.1)
92
+ actionpack (>= 7.2)
93
+ ast (2.4.3)
94
+ base64 (0.3.0)
95
+ benchmark (0.5.0)
96
+ bigdecimal (4.1.3)
97
+ builder (3.3.0)
98
+ cgi (0.5.2)
99
+ concurrent-ruby (1.3.8)
100
+ connection_pool (2.5.5)
101
+ crass (1.0.7)
102
+ date (3.6.0)
103
+ diff-lcs (2.0.0)
104
+ docile (1.4.1)
105
+ drb (2.2.3)
106
+ erb (6.0.7)
107
+ erubi (1.13.1)
108
+ ferrum (0.19.1)
109
+ addressable (~> 2.5)
110
+ base64 (~> 0.2)
111
+ concurrent-ruby (~> 1.1)
112
+ websocket-driver (~> 0.7)
113
+ globalid (1.4.0)
114
+ activesupport (>= 6.1)
115
+ i18n (1.15.2)
116
+ concurrent-ruby (~> 1.0)
117
+ io-console (0.9.4)
118
+ irb (1.18.0)
119
+ pp (>= 0.6.0)
120
+ prism (>= 1.3.0)
121
+ rdoc (>= 4.0.0)
122
+ reline (>= 0.4.2)
123
+ json (3.1.0)
124
+ language_server-protocol (3.17.0.6)
125
+ lint_roller (1.1.0)
126
+ logger (1.7.0)
127
+ loofah (2.25.2)
128
+ crass (~> 1.0.2)
129
+ nokogiri (>= 1.12.0)
130
+ magic_frozen_string_literal (1.2.0)
131
+ mail (2.9.1)
132
+ logger
133
+ mini_mime (>= 0.1.1)
134
+ net-imap
135
+ net-pop
136
+ net-smtp
137
+ marcel (1.2.1)
138
+ mini_mime (1.1.5)
139
+ minitest (5.27.0)
140
+ minitest-strict (1.0.1)
141
+ minitest (>= 5.21, < 7)
142
+ mutant (0.17.1)
143
+ diff-lcs (>= 1.6, < 3)
144
+ irb (~> 1.15)
145
+ parser (~> 3.3.10)
146
+ regexp_parser (~> 2.10)
147
+ securerandom (>= 0.3)
148
+ sorbet-runtime (~> 0.6.0)
149
+ unparser (>= 0.8.2, < 0.10)
150
+ mutant-minitest (0.17.1)
151
+ minitest (>= 5.11, < 7)
152
+ mutant (= 0.17.1)
153
+ mutex_m (~> 0.2)
154
+ mutex_m (0.3.0)
155
+ net-imap (0.6.8)
156
+ date
157
+ net-protocol
158
+ net-pop (0.1.2)
159
+ net-protocol
160
+ net-protocol (0.4.0)
161
+ timeout
162
+ net-smtp (0.5.2)
163
+ net-protocol
164
+ nio4r (2.7.5)
165
+ nokogiri (1.19.4-aarch64-linux-gnu)
166
+ racc (~> 1.4)
167
+ nokogiri (1.19.4-aarch64-linux-musl)
168
+ racc (~> 1.4)
169
+ nokogiri (1.19.4-arm-linux-gnu)
170
+ racc (~> 1.4)
171
+ nokogiri (1.19.4-arm-linux-musl)
172
+ racc (~> 1.4)
173
+ nokogiri (1.19.4-arm64-darwin)
174
+ racc (~> 1.4)
175
+ nokogiri (1.19.4-x86_64-darwin)
176
+ racc (~> 1.4)
177
+ nokogiri (1.19.4-x86_64-linux-gnu)
178
+ racc (~> 1.4)
179
+ nokogiri (1.19.4-x86_64-linux-musl)
180
+ racc (~> 1.4)
181
+ parallel (2.3.0)
182
+ parser (3.3.12.0)
183
+ ast (~> 2.4.1)
184
+ racc
185
+ pp (0.6.4)
186
+ prettyprint
187
+ prettyprint (0.2.1)
188
+ prism (1.9.0)
189
+ public_suffix (7.0.5)
190
+ puma (8.0.2)
191
+ nio4r (~> 2.0)
192
+ racc (1.8.1)
193
+ rack (3.2.7)
194
+ rack-session (2.1.2)
195
+ base64 (>= 0.1.0)
196
+ rack (>= 3.0.0)
197
+ rack-test (2.2.0)
198
+ rack (>= 1.3)
199
+ rackup (2.3.1)
200
+ rack (>= 3)
201
+ rails (7.2.4)
202
+ actioncable (= 7.2.4)
203
+ actionmailbox (= 7.2.4)
204
+ actionmailer (= 7.2.4)
205
+ actionpack (= 7.2.4)
206
+ actiontext (= 7.2.4)
207
+ actionview (= 7.2.4)
208
+ activejob (= 7.2.4)
209
+ activemodel (= 7.2.4)
210
+ activerecord (= 7.2.4)
211
+ activestorage (= 7.2.4)
212
+ activesupport (= 7.2.4)
213
+ bundler (>= 1.15.0)
214
+ railties (= 7.2.4)
215
+ rails-dom-testing (2.3.0)
216
+ activesupport (>= 5.0.0)
217
+ minitest
218
+ nokogiri (>= 1.6)
219
+ rails-html-sanitizer (1.7.1)
220
+ loofah (~> 2.25, >= 2.25.2)
221
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
222
+ railties (7.2.4)
223
+ actionpack (= 7.2.4)
224
+ activesupport (= 7.2.4)
225
+ cgi
226
+ irb (~> 1.13)
227
+ rackup (>= 1.0.0)
228
+ rake (>= 12.2)
229
+ thor (~> 1.0, >= 1.2.2)
230
+ tsort (>= 0.2)
231
+ zeitwerk (~> 2.6)
232
+ rainbow (3.1.1)
233
+ rake (13.4.2)
234
+ rbs (4.2.0)
235
+ logger
236
+ prism (>= 1.6.0)
237
+ tsort
238
+ rdoc (8.1.0)
239
+ erb
240
+ prism (>= 1.6.0)
241
+ rbs (>= 4.0.0)
242
+ tsort
243
+ regexp_parser (2.13.1)
244
+ reline (0.7.0)
245
+ io-console (~> 0.5)
246
+ rubocop (1.91.0)
247
+ json (>= 2.3)
248
+ language_server-protocol (~> 3.17.0.2)
249
+ lint_roller (~> 1.1.0)
250
+ parallel (>= 1.10)
251
+ parser (>= 3.3.0.2)
252
+ rainbow (>= 2.2.2, < 4.0)
253
+ regexp_parser (>= 2.9.3, < 3.0)
254
+ rubocop-ast (>= 1.49.0, < 2.0)
255
+ ruby-progressbar (~> 1.7)
256
+ unicode-display_width (>= 2.4.0, < 4.0)
257
+ rubocop-ast (1.50.0)
258
+ parser (>= 3.3.7.2)
259
+ prism (~> 1.7)
260
+ rubocop-performance (1.26.1)
261
+ lint_roller (~> 1.1)
262
+ rubocop (>= 1.75.0, < 2.0)
263
+ rubocop-ast (>= 1.47.1, < 2.0)
264
+ ruby-progressbar (1.13.0)
265
+ securerandom (0.4.1)
266
+ simplecov (0.22.0)
267
+ docile (~> 1.1)
268
+ simplecov-html (~> 0.11)
269
+ simplecov_json_formatter (~> 0.1)
270
+ simplecov-html (0.13.2)
271
+ simplecov_json_formatter (0.1.4)
272
+ sorbet-runtime (0.6.13584)
273
+ sprockets (4.4.1)
274
+ concurrent-ruby (~> 1.1)
275
+ logger
276
+ rack (>= 2.2.4, < 4)
277
+ sprockets-rails (3.5.2)
278
+ actionpack (>= 6.1)
279
+ activesupport (>= 6.1)
280
+ sprockets (>= 3.0.0)
281
+ sqlite3 (2.10.1-aarch64-linux-gnu)
282
+ sqlite3 (2.10.1-aarch64-linux-musl)
283
+ sqlite3 (2.10.1-arm-linux-gnu)
284
+ sqlite3 (2.10.1-arm-linux-musl)
285
+ sqlite3 (2.10.1-arm64-darwin)
286
+ sqlite3 (2.10.1-x86_64-darwin)
287
+ sqlite3 (2.10.1-x86_64-linux-gnu)
288
+ sqlite3 (2.10.1-x86_64-linux-musl)
289
+ standard (1.57.0)
290
+ language_server-protocol (~> 3.17.0.2)
291
+ lint_roller (~> 1.0)
292
+ rubocop (~> 1.91.0)
293
+ standard-custom (~> 1.0.0)
294
+ standard-performance (~> 1.8)
295
+ standard-custom (1.0.2)
296
+ lint_roller (~> 1.0)
297
+ rubocop (~> 1.50)
298
+ standard-performance (1.9.0)
299
+ lint_roller (~> 1.1)
300
+ rubocop-performance (~> 1.26.0)
301
+ state_machine_enum (0.1.4)
302
+ activesupport (>= 7.0)
303
+ thor (1.5.0)
304
+ timeout (0.6.1)
305
+ tsort (0.2.0)
306
+ tzinfo (2.0.6)
307
+ concurrent-ruby (~> 1.0)
308
+ unicode-display_width (3.3.0)
309
+ unicode-emoji (~> 4.3)
310
+ unicode-emoji (4.3.0)
311
+ unparser (0.9.0)
312
+ diff-lcs (>= 1.6, < 3)
313
+ parser (>= 3.3.0)
314
+ prism (>= 1.5.1)
315
+ useragent (0.16.11)
316
+ websocket-driver (0.8.2)
317
+ base64
318
+ websocket-extensions (>= 0.1.0)
319
+ websocket-extensions (0.1.5)
320
+ yard (0.9.45)
321
+ yard-lint (1.12.0)
322
+ yard (~> 0.9)
323
+ zeitwerk (~> 2.6)
324
+ zeitwerk (2.8.3)
325
+
326
+ PLATFORMS
327
+ aarch64-linux-gnu
328
+ aarch64-linux-musl
329
+ arm-linux-gnu
330
+ arm-linux-musl
331
+ arm64-darwin
332
+ x86_64-darwin
333
+ x86_64-linux-gnu
334
+ x86_64-linux-musl
335
+
336
+ DEPENDENCIES
337
+ appraisal
338
+ ferrum (~> 0.19)
339
+ magic_frozen_string_literal
340
+ minitest (~> 5.0)
341
+ minitest-strict (~> 1.0)
342
+ mutant
343
+ mutant-minitest
344
+ puma
345
+ rails (~> 7.2.0)
346
+ rake (~> 13.0)
347
+ simplecov (~> 0.22)
348
+ sprockets-rails
349
+ sqlite3
350
+ standard
351
+ webhukhs!
352
+ yard-lint
353
+
354
+ CHECKSUMS
355
+ actioncable (7.2.4) sha256=053e939f728eac986ff5321e42ba5b884de6ab64a392af0e8d45866d0d3fb63a
356
+ actionmailbox (7.2.4) sha256=92d4d107554eb29cdffce9aaaf41daf07b9e6579d5a0d4cc9b64de6e87eadee9
357
+ actionmailer (7.2.4) sha256=9c58352e79df660aecddb1cdfbe1e6e555169c3328ae15ec06b6eae611de8917
358
+ actionpack (7.2.4) sha256=c7acf80263cf09125e5c4d866abda3536cc941f436e81673f17be11ad407a4eb
359
+ actiontext (7.2.4) sha256=49b0a18a387e983d48fa559ef8aa8d9c37c21399998b59984d87c387d81f3c9c
360
+ actionview (7.2.4) sha256=6005a3427881b2e8f509a5f7ed894e66f256410f734f7a227d01c4d3d9cb06a2
361
+ activejob (7.2.4) sha256=a83376234173c67e2d7b155132b79750776215ab16f1a0a2f20ad59a50a7054b
362
+ activemodel (7.2.4) sha256=c6a2f2290fdf8728b596fba1fc528e65852c6e015ccc385ddf0f93c455588773
363
+ activerecord (7.2.4) sha256=b3549deb6a4c469e0cb652194cf566b6010f1f1796404b4213d8b47469d411e5
364
+ activestorage (7.2.4) sha256=cc82c0d1c50cfcd52197067a61ca16e5b3716c0ac2eba666b30449ba3532bddc
365
+ activesupport (7.2.4) sha256=b97027b31e111675dba67b86edcd589acc25a0dddf8eecacca18d33a703a0788
366
+ addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
367
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
368
+ assiette (0.6.1) sha256=e0508d01d049c9f494fb87459b6a897fbb751fd5106714ee218bb45eaeaa94d0
369
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
370
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
371
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
372
+ bigdecimal (4.1.3) sha256=61ebe1e5e559bdc3cc6f2c0ee7f427321fc838f59611c294356eb04d6e21cf66
373
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
374
+ cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
375
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
376
+ connection_pool (2.5.5) sha256=e54ff92855753df1fd7c59fa04a398833355f27dd14c074f8c83a05f72a716ad
377
+ crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
378
+ date (3.6.0) sha256=18ac945c4e24ebd93534f8eab8c2fd8c5604b3e977105b3798d62a1e8d27b580
379
+ diff-lcs (2.0.0) sha256=708a5d52ec2945b50f8f53a181174aa1ef2c496edf81c05957fe956dabb363d5
380
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
381
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
382
+ erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
383
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
384
+ ferrum (0.19.1) sha256=2e9ab588d24e08b6765a5a349bc5d367e5c09d3bead26270f1f2279ad7a4bc25
385
+ globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
386
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
387
+ io-console (0.9.4) sha256=a403304f32928ee85e56d457b4612ca43f2703b561a3258844992bd24085fbb1
388
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
389
+ json (3.1.0) sha256=3ce7ccf8fde58960177a3a756c31f292a4c1e1dedee884547096a5b0604e3bd8
390
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
391
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
392
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
393
+ loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
394
+ magic_frozen_string_literal (1.2.0) sha256=ba2014401bdd571339960c122f7bafe98f2dee6bcc2fe2600548666f65042eb7
395
+ mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8
396
+ marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
397
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
398
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
399
+ minitest-strict (1.0.1) sha256=5bf179ed48c21013575cc00506be3fd6ceec8529636ce6897468f9574004ae06
400
+ mutant (0.17.1) sha256=24c7ceecae0b4efe550ab88ff06017a93828c73cd9569bda1b2689575b120e6c
401
+ mutant-minitest (0.17.1) sha256=53b71286b28019b64d3c565680244ce8dc3aa9095d1aa4ea4faee235ddea8a78
402
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
403
+ net-imap (0.6.8) sha256=eb30bb62227b64a3af6b518b04b2375113d69f68f15de59b0193b07d98acf6d9
404
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
405
+ net-protocol (0.4.0) sha256=f9f90c8c6f64794a45160bf422177a336db12809de3beeeaa26b88fcd2e8c853
406
+ net-smtp (0.5.2) sha256=35103cc04d6b2d94632f9928ede07483c24b70b9c0db1f231fea43909b678f3c
407
+ nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
408
+ nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f
409
+ nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af
410
+ nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca
411
+ nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb
412
+ nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527
413
+ nokogiri (1.19.4-x86_64-darwin) sha256=7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551
414
+ nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
415
+ nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
416
+ parallel (2.3.0) sha256=f75a3e904101ce6a1ccb6b8dc800cbafd42166d83330192438dcf29395167a6f
417
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
418
+ pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
419
+ prettyprint (0.2.1) sha256=d555d57ea6d7cf001d4774b693546a6bd88bec1e778ddffb5c60b68ceec4b7d4
420
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
421
+ public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
422
+ puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb
423
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
424
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
425
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
426
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
427
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
428
+ rails (7.2.4) sha256=28b530f2db9dc112ce896fd93a00863d7e9ee98c4e7dbd02ea5b7647cb63738e
429
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
430
+ rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
431
+ railties (7.2.4) sha256=e4b754edc7b42c9f3d6cc3048832efe634d727aa59093a03bf8a78096917f121
432
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
433
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
434
+ rbs (4.2.0) sha256=51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674
435
+ rdoc (8.1.0) sha256=befc37880a5cfd36dcb176c748b5fd5ee39dd3536a75e81824e4972ce230f60a
436
+ regexp_parser (2.13.1) sha256=5aedb6b7c35688f51e86eef17a15374dfd287c83f4ca644b2c5f3ec50a33b44b
437
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
438
+ rubocop (1.91.0) sha256=9c82b7bf391c5d7e3798c5b9996e22a1fe3bd7468e351dfdeb96140c058296d0
439
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
440
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
441
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
442
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
443
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
444
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
445
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
446
+ sorbet-runtime (0.6.13584) sha256=719bd88604fcc8d79c111784754b202fad24e97ac68187be338118e01ae8549c
447
+ sprockets (4.4.1) sha256=fbd665edad0916de5c7abefef0fc616866a60c5e48ce2846f39ac3fc5df9e184
448
+ sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e
449
+ sqlite3 (2.10.1-aarch64-linux-gnu) sha256=48390cc2b809acd1280f5c9daaf3c2013833adb8a5ece9b0634f708651080ccd
450
+ sqlite3 (2.10.1-aarch64-linux-musl) sha256=db1bcddf98e4eeea80ca896f56aa3f9468364fa1ee8e042ddc6b628b5092fabb
451
+ sqlite3 (2.10.1-arm-linux-gnu) sha256=34a67a3fe84f705a0fad6f7aa4541579300644b9acdf414797e59929a6e3528b
452
+ sqlite3 (2.10.1-arm-linux-musl) sha256=e317adb8979b57dafd999b54410b4050296aa5d00caa664e3f75d876e2ae90e8
453
+ sqlite3 (2.10.1-arm64-darwin) sha256=45f74dad0a8ee57ae5fadfac39bf160d1f09fb0484a442223310d869cd957d92
454
+ sqlite3 (2.10.1-x86_64-darwin) sha256=00d1cd2e8ecff5ad9fffa0c97de59d4f85c5fc54eada2587d53ca0bd933b7a5d
455
+ sqlite3 (2.10.1-x86_64-linux-gnu) sha256=661ecede31e23a412059cd8c684ed84e332f64f167e4a90902cf99e8ea2c8718
456
+ sqlite3 (2.10.1-x86_64-linux-musl) sha256=67c7c5443a930157b4e148f0f4cb9ab998ee7ecfa8ce56879a6b56d1d742b2be
457
+ standard (1.57.0) sha256=4a65ea92421fbaf77fb54da91e16093cf79b335b8f62c35aaa3dd714c8592858
458
+ standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
459
+ standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
460
+ state_machine_enum (0.1.4) sha256=959d72af8d00e31b995a447738716e76667aadfb3612c17f59f566c083b31aac
461
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
462
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
463
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
464
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
465
+ unicode-display_width (3.3.0) sha256=4b7aa66a4b11db50f6f7e98411215cd0dd10eaecb665d36eec5bcacb3fa0b613
466
+ unicode-emoji (4.3.0) sha256=11c02fa73290378c066bb0562cd4c87d8e1b706fbbe0059ca12746a4244de8ce
467
+ unparser (0.9.0) sha256=4331f174a73a23b69250b13d47da3794ed1449711ee0f9ed8947dc020ba76067
468
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
469
+ webhukhs (0.7.0)
470
+ websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146
471
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
472
+ yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
473
+ yard-lint (1.12.0) sha256=e9899cfb09e9cdc33bf300933981f87abea9bebd9a83d679209a5d4ce3b0a937
474
+ zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
475
+
476
+ BUNDLED WITH
477
+ 4.0.3
@@ -2,9 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "sqlite3"
6
- gem "sprockets-rails"
7
- gem "appraisal"
8
5
  gem "rails", "~> 8.0"
9
6
 
10
7
  gemspec path: "../"