webhukhs 0.6.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.
- checksums.yaml +4 -4
- data/.standard.yml +2 -0
- data/.yard-lint.yml +296 -0
- data/AGENTS.md +56 -0
- data/Appraisals +6 -2
- data/CHANGELOG.md +20 -0
- data/README.md +101 -11
- data/Rakefile +7 -0
- data/config/mutant.rb +37 -0
- data/config/mutant.yml +25 -0
- data/example/Gemfile +5 -6
- data/example/Gemfile.lock +260 -141
- data/example/app/webhooks/acme_handler.rb +16 -0
- data/example/app/webhooks/flaky_handler.rb +8 -0
- data/example/app/webhooks/signed_handler.rb +10 -0
- data/example/config/initializers/webhukhs.rb +4 -3
- data/example/config/routes.rb +3 -0
- data/example/db/migrate/20240601000000_add_headers_to_webhukhs_webhooks.rb +7 -0
- data/example/db/schema.rb +2 -1
- data/example/db/seeds.rb +71 -7
- data/gemfiles/{rails_7.1.gemfile → rails_7.2.gemfile} +1 -4
- data/gemfiles/rails_7.2.gemfile.lock +477 -0
- data/gemfiles/rails_8.0.gemfile +0 -3
- data/gemfiles/rails_8.0.gemfile.lock +74 -4
- data/gemfiles/rails_8.1.gemfile +0 -3
- data/gemfiles/rails_8.1.gemfile.lock +74 -4
- data/gemfiles/rails_master.gemfile +7 -0
- data/lib/webhukhs/admin/application_controller.rb +32 -0
- data/lib/webhukhs/admin/assets/admin.css +476 -0
- data/lib/webhukhs/admin/assets/admin.js +111 -0
- data/lib/webhukhs/admin/config/routes.rb +6 -0
- data/lib/webhukhs/admin/engine.rb +20 -0
- data/lib/webhukhs/admin/received_webhook_presenter.rb +63 -0
- data/lib/webhukhs/admin/received_webhooks_controller.rb +60 -0
- data/lib/webhukhs/admin/view_helper.rb +50 -0
- data/lib/webhukhs/admin/views/layouts/webhukhs/admin/application.html.erb +22 -0
- data/lib/webhukhs/admin/views/webhukhs/admin/received_webhooks/index.html.erb +50 -0
- data/lib/webhukhs/admin/views/webhukhs/admin/received_webhooks/show.html.erb +55 -0
- data/lib/webhukhs/admin.rb +17 -0
- data/lib/webhukhs/base_handler.rb +9 -6
- data/lib/webhukhs/controllers/receive_webhooks_controller.rb +26 -7
- data/lib/webhukhs/engine.rb +1 -4
- data/lib/webhukhs/install_generator.rb +9 -2
- data/lib/webhukhs/jobs/processing_job.rb +13 -12
- data/lib/webhukhs/models/received_webhook.rb +21 -9
- data/lib/webhukhs/version.rb +1 -1
- data/lib/webhukhs.rb +9 -0
- data/test/admin_test.rb +334 -0
- data/test/base_handler_test.rb +125 -0
- data/test/browser/admin_click_through.rb +208 -0
- data/test/processing_job_test.rb +152 -12
- data/test/received_webhook_test.rb +260 -0
- data/test/test_app.rb +39 -15
- data/test/test_helper.rb +69 -0
- data/test/webhukhs_test.rb +111 -49
- metadata +173 -11
- data/example/.ruby-version +0 -1
- data/gemfiles/rails_7.1.gemfile.lock +0 -412
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
webhukhs (0.
|
|
5
|
-
|
|
4
|
+
webhukhs (0.7.0)
|
|
5
|
+
assiette (~> 0.6)
|
|
6
|
+
rails (>= 7.2)
|
|
6
7
|
state_machine_enum
|
|
7
8
|
|
|
8
9
|
GEM
|
|
@@ -82,10 +83,14 @@ GEM
|
|
|
82
83
|
securerandom (>= 0.3)
|
|
83
84
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
84
85
|
uri (>= 0.13.1)
|
|
86
|
+
addressable (2.9.0)
|
|
87
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
85
88
|
appraisal (2.5.0)
|
|
86
89
|
bundler
|
|
87
90
|
rake
|
|
88
91
|
thor (>= 0.14.0)
|
|
92
|
+
assiette (0.6.1)
|
|
93
|
+
actionpack (>= 7.2)
|
|
89
94
|
ast (2.4.3)
|
|
90
95
|
base64 (0.3.0)
|
|
91
96
|
bigdecimal (4.0.1)
|
|
@@ -94,9 +99,16 @@ GEM
|
|
|
94
99
|
connection_pool (3.0.2)
|
|
95
100
|
crass (1.0.6)
|
|
96
101
|
date (3.5.1)
|
|
102
|
+
diff-lcs (2.0.0)
|
|
103
|
+
docile (1.4.1)
|
|
97
104
|
drb (2.2.3)
|
|
98
105
|
erb (6.0.1)
|
|
99
106
|
erubi (1.13.1)
|
|
107
|
+
ferrum (0.19.1)
|
|
108
|
+
addressable (~> 2.5)
|
|
109
|
+
base64 (~> 0.2)
|
|
110
|
+
concurrent-ruby (~> 1.1)
|
|
111
|
+
websocket-driver (~> 0.7)
|
|
100
112
|
globalid (1.3.0)
|
|
101
113
|
activesupport (>= 6.1)
|
|
102
114
|
i18n (1.14.8)
|
|
@@ -123,6 +135,21 @@ GEM
|
|
|
123
135
|
marcel (1.1.0)
|
|
124
136
|
mini_mime (1.1.5)
|
|
125
137
|
minitest (5.27.0)
|
|
138
|
+
minitest-strict (1.0.1)
|
|
139
|
+
minitest (>= 5.21, < 7)
|
|
140
|
+
mutant (0.17.1)
|
|
141
|
+
diff-lcs (>= 1.6, < 3)
|
|
142
|
+
irb (~> 1.15)
|
|
143
|
+
parser (~> 3.3.10)
|
|
144
|
+
regexp_parser (~> 2.10)
|
|
145
|
+
securerandom (>= 0.3)
|
|
146
|
+
sorbet-runtime (~> 0.6.0)
|
|
147
|
+
unparser (>= 0.8.2, < 0.10)
|
|
148
|
+
mutant-minitest (0.17.1)
|
|
149
|
+
minitest (>= 5.11, < 7)
|
|
150
|
+
mutant (= 0.17.1)
|
|
151
|
+
mutex_m (~> 0.2)
|
|
152
|
+
mutex_m (0.3.0)
|
|
126
153
|
net-imap (0.6.2)
|
|
127
154
|
date
|
|
128
155
|
net-protocol
|
|
@@ -160,6 +187,9 @@ GEM
|
|
|
160
187
|
psych (5.3.1)
|
|
161
188
|
date
|
|
162
189
|
stringio
|
|
190
|
+
public_suffix (7.0.5)
|
|
191
|
+
puma (8.0.2)
|
|
192
|
+
nio4r (~> 2.0)
|
|
163
193
|
racc (1.8.1)
|
|
164
194
|
rack (3.2.4)
|
|
165
195
|
rack-session (2.1.1)
|
|
@@ -228,6 +258,13 @@ GEM
|
|
|
228
258
|
rubocop-ast (>= 1.47.1, < 2.0)
|
|
229
259
|
ruby-progressbar (1.13.0)
|
|
230
260
|
securerandom (0.4.1)
|
|
261
|
+
simplecov (0.22.0)
|
|
262
|
+
docile (~> 1.1)
|
|
263
|
+
simplecov-html (~> 0.11)
|
|
264
|
+
simplecov_json_formatter (~> 0.1)
|
|
265
|
+
simplecov-html (0.13.2)
|
|
266
|
+
simplecov_json_formatter (0.1.4)
|
|
267
|
+
sorbet-runtime (0.6.13584)
|
|
231
268
|
sprockets (4.2.2)
|
|
232
269
|
concurrent-ruby (~> 1.0)
|
|
233
270
|
logger
|
|
@@ -267,12 +304,20 @@ GEM
|
|
|
267
304
|
unicode-display_width (3.2.0)
|
|
268
305
|
unicode-emoji (~> 4.1)
|
|
269
306
|
unicode-emoji (4.2.0)
|
|
307
|
+
unparser (0.9.0)
|
|
308
|
+
diff-lcs (>= 1.6, < 3)
|
|
309
|
+
parser (>= 3.3.0)
|
|
310
|
+
prism (>= 1.5.1)
|
|
270
311
|
uri (1.1.1)
|
|
271
312
|
useragent (0.16.11)
|
|
272
313
|
websocket-driver (0.8.0)
|
|
273
314
|
base64
|
|
274
315
|
websocket-extensions (>= 0.1.0)
|
|
275
316
|
websocket-extensions (0.1.5)
|
|
317
|
+
yard (0.9.45)
|
|
318
|
+
yard-lint (1.12.0)
|
|
319
|
+
yard (~> 0.9)
|
|
320
|
+
zeitwerk (~> 2.6)
|
|
276
321
|
zeitwerk (2.7.4)
|
|
277
322
|
|
|
278
323
|
PLATFORMS
|
|
@@ -287,14 +332,21 @@ PLATFORMS
|
|
|
287
332
|
|
|
288
333
|
DEPENDENCIES
|
|
289
334
|
appraisal
|
|
335
|
+
ferrum (~> 0.19)
|
|
290
336
|
magic_frozen_string_literal
|
|
291
337
|
minitest (~> 5.0)
|
|
338
|
+
minitest-strict (~> 1.0)
|
|
339
|
+
mutant
|
|
340
|
+
mutant-minitest
|
|
341
|
+
puma
|
|
292
342
|
rails (~> 8.0)
|
|
293
343
|
rake (~> 13.0)
|
|
344
|
+
simplecov (~> 0.22)
|
|
294
345
|
sprockets-rails
|
|
295
346
|
sqlite3
|
|
296
347
|
standard
|
|
297
348
|
webhukhs!
|
|
349
|
+
yard-lint
|
|
298
350
|
|
|
299
351
|
CHECKSUMS
|
|
300
352
|
action_text-trix (2.1.16) sha256=f645a2c21821b8449fd1d6770708f4031c91a2eedf9ef476e9be93c64e703a8a
|
|
@@ -309,7 +361,9 @@ CHECKSUMS
|
|
|
309
361
|
activerecord (8.1.1) sha256=e32c3a03e364fd803498eb4150c21bedc995aa83bc27122a94d480ab1dcb3d17
|
|
310
362
|
activestorage (8.1.1) sha256=bc01d8b4c55e309a0a2e218bfe502c382c9f232e28b1f4b0adc9d8719d2bf28d
|
|
311
363
|
activesupport (8.1.1) sha256=5e92534e8d0c8b8b5e6b16789c69dbea65c1d7b752269f71a39422e9546cea67
|
|
364
|
+
addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
|
|
312
365
|
appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
|
|
366
|
+
assiette (0.6.1) sha256=e0508d01d049c9f494fb87459b6a897fbb751fd5106714ee218bb45eaeaa94d0
|
|
313
367
|
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
|
|
314
368
|
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
315
369
|
bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
|
|
@@ -318,9 +372,12 @@ CHECKSUMS
|
|
|
318
372
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
319
373
|
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
|
|
320
374
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
375
|
+
diff-lcs (2.0.0) sha256=708a5d52ec2945b50f8f53a181174aa1ef2c496edf81c05957fe956dabb363d5
|
|
376
|
+
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
|
|
321
377
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
322
378
|
erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
|
|
323
379
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
380
|
+
ferrum (0.19.1) sha256=2e9ab588d24e08b6765a5a349bc5d367e5c09d3bead26270f1f2279ad7a4bc25
|
|
324
381
|
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
|
|
325
382
|
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
|
|
326
383
|
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
|
|
@@ -335,6 +392,10 @@ CHECKSUMS
|
|
|
335
392
|
marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
|
|
336
393
|
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
|
|
337
394
|
minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
|
|
395
|
+
minitest-strict (1.0.1) sha256=5bf179ed48c21013575cc00506be3fd6ceec8529636ce6897468f9574004ae06
|
|
396
|
+
mutant (0.17.1) sha256=24c7ceecae0b4efe550ab88ff06017a93828c73cd9569bda1b2689575b120e6c
|
|
397
|
+
mutant-minitest (0.17.1) sha256=53b71286b28019b64d3c565680244ce8dc3aa9095d1aa4ea4faee235ddea8a78
|
|
398
|
+
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
|
|
338
399
|
net-imap (0.6.2) sha256=08caacad486853c61676cca0c0c47df93db02abc4a8239a8b67eb0981428acc6
|
|
339
400
|
net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
|
|
340
401
|
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
|
|
@@ -354,6 +415,8 @@ CHECKSUMS
|
|
|
354
415
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
355
416
|
prism (1.7.0) sha256=10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103
|
|
356
417
|
psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
|
|
418
|
+
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
|
|
419
|
+
puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb
|
|
357
420
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
358
421
|
rack (3.2.4) sha256=5d74b6f75082a643f43c1e76b419c40f0e5527fcfee1e669ac1e6b73c0ccb6f6
|
|
359
422
|
rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
|
|
@@ -373,6 +436,10 @@ CHECKSUMS
|
|
|
373
436
|
rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
|
|
374
437
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
375
438
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
439
|
+
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
|
|
440
|
+
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
|
|
441
|
+
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
|
|
442
|
+
sorbet-runtime (0.6.13584) sha256=719bd88604fcc8d79c111784754b202fad24e97ac68187be338118e01ae8549c
|
|
376
443
|
sprockets (4.2.2) sha256=761e5a49f1c288704763f73139763564c845a8f856d52fba013458f8af1b59b1
|
|
377
444
|
sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e
|
|
378
445
|
sqlite3 (2.9.0-aarch64-linux-gnu) sha256=cfe1e0216f46d7483839719bf827129151e6c680317b99d7b8fc1597a3e13473
|
|
@@ -394,12 +461,15 @@ CHECKSUMS
|
|
|
394
461
|
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
|
|
395
462
|
unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
|
|
396
463
|
unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
|
|
464
|
+
unparser (0.9.0) sha256=4331f174a73a23b69250b13d47da3794ed1449711ee0f9ed8947dc020ba76067
|
|
397
465
|
uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
|
|
398
466
|
useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
|
|
399
|
-
webhukhs (0.
|
|
467
|
+
webhukhs (0.7.0)
|
|
400
468
|
websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
|
|
401
469
|
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
|
|
470
|
+
yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
|
|
471
|
+
yard-lint (1.12.0) sha256=e9899cfb09e9cdc33bf300933981f87abea9bebd9a83d679209a5d4ce3b0a937
|
|
402
472
|
zeitwerk (2.7.4) sha256=2bef90f356bdafe9a6c2bd32bcd804f83a4f9b8bc27f3600fff051eb3edcec8b
|
|
403
473
|
|
|
404
474
|
BUNDLED WITH
|
|
405
|
-
4.0.
|
|
475
|
+
4.0.3
|
data/gemfiles/rails_8.1.gemfile
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
webhukhs (0.
|
|
5
|
-
|
|
4
|
+
webhukhs (0.7.0)
|
|
5
|
+
assiette (~> 0.6)
|
|
6
|
+
rails (>= 7.2)
|
|
6
7
|
state_machine_enum
|
|
7
8
|
|
|
8
9
|
GEM
|
|
@@ -82,10 +83,14 @@ GEM
|
|
|
82
83
|
securerandom (>= 0.3)
|
|
83
84
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
84
85
|
uri (>= 0.13.1)
|
|
86
|
+
addressable (2.9.0)
|
|
87
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
85
88
|
appraisal (2.5.0)
|
|
86
89
|
bundler
|
|
87
90
|
rake
|
|
88
91
|
thor (>= 0.14.0)
|
|
92
|
+
assiette (0.6.1)
|
|
93
|
+
actionpack (>= 7.2)
|
|
89
94
|
ast (2.4.3)
|
|
90
95
|
base64 (0.3.0)
|
|
91
96
|
bigdecimal (4.0.1)
|
|
@@ -94,9 +99,16 @@ GEM
|
|
|
94
99
|
connection_pool (3.0.2)
|
|
95
100
|
crass (1.0.6)
|
|
96
101
|
date (3.5.1)
|
|
102
|
+
diff-lcs (2.0.0)
|
|
103
|
+
docile (1.4.1)
|
|
97
104
|
drb (2.2.3)
|
|
98
105
|
erb (6.0.1)
|
|
99
106
|
erubi (1.13.1)
|
|
107
|
+
ferrum (0.19.1)
|
|
108
|
+
addressable (~> 2.5)
|
|
109
|
+
base64 (~> 0.2)
|
|
110
|
+
concurrent-ruby (~> 1.1)
|
|
111
|
+
websocket-driver (~> 0.7)
|
|
100
112
|
globalid (1.3.0)
|
|
101
113
|
activesupport (>= 6.1)
|
|
102
114
|
i18n (1.14.8)
|
|
@@ -123,6 +135,21 @@ GEM
|
|
|
123
135
|
marcel (1.1.0)
|
|
124
136
|
mini_mime (1.1.5)
|
|
125
137
|
minitest (5.27.0)
|
|
138
|
+
minitest-strict (1.0.1)
|
|
139
|
+
minitest (>= 5.21, < 7)
|
|
140
|
+
mutant (0.17.1)
|
|
141
|
+
diff-lcs (>= 1.6, < 3)
|
|
142
|
+
irb (~> 1.15)
|
|
143
|
+
parser (~> 3.3.10)
|
|
144
|
+
regexp_parser (~> 2.10)
|
|
145
|
+
securerandom (>= 0.3)
|
|
146
|
+
sorbet-runtime (~> 0.6.0)
|
|
147
|
+
unparser (>= 0.8.2, < 0.10)
|
|
148
|
+
mutant-minitest (0.17.1)
|
|
149
|
+
minitest (>= 5.11, < 7)
|
|
150
|
+
mutant (= 0.17.1)
|
|
151
|
+
mutex_m (~> 0.2)
|
|
152
|
+
mutex_m (0.3.0)
|
|
126
153
|
net-imap (0.6.2)
|
|
127
154
|
date
|
|
128
155
|
net-protocol
|
|
@@ -160,6 +187,9 @@ GEM
|
|
|
160
187
|
psych (5.3.1)
|
|
161
188
|
date
|
|
162
189
|
stringio
|
|
190
|
+
public_suffix (7.0.5)
|
|
191
|
+
puma (8.0.2)
|
|
192
|
+
nio4r (~> 2.0)
|
|
163
193
|
racc (1.8.1)
|
|
164
194
|
rack (3.2.4)
|
|
165
195
|
rack-session (2.1.1)
|
|
@@ -228,6 +258,13 @@ GEM
|
|
|
228
258
|
rubocop-ast (>= 1.47.1, < 2.0)
|
|
229
259
|
ruby-progressbar (1.13.0)
|
|
230
260
|
securerandom (0.4.1)
|
|
261
|
+
simplecov (0.22.0)
|
|
262
|
+
docile (~> 1.1)
|
|
263
|
+
simplecov-html (~> 0.11)
|
|
264
|
+
simplecov_json_formatter (~> 0.1)
|
|
265
|
+
simplecov-html (0.13.2)
|
|
266
|
+
simplecov_json_formatter (0.1.4)
|
|
267
|
+
sorbet-runtime (0.6.13584)
|
|
231
268
|
sprockets (4.2.2)
|
|
232
269
|
concurrent-ruby (~> 1.0)
|
|
233
270
|
logger
|
|
@@ -267,12 +304,20 @@ GEM
|
|
|
267
304
|
unicode-display_width (3.2.0)
|
|
268
305
|
unicode-emoji (~> 4.1)
|
|
269
306
|
unicode-emoji (4.2.0)
|
|
307
|
+
unparser (0.9.0)
|
|
308
|
+
diff-lcs (>= 1.6, < 3)
|
|
309
|
+
parser (>= 3.3.0)
|
|
310
|
+
prism (>= 1.5.1)
|
|
270
311
|
uri (1.1.1)
|
|
271
312
|
useragent (0.16.11)
|
|
272
313
|
websocket-driver (0.8.0)
|
|
273
314
|
base64
|
|
274
315
|
websocket-extensions (>= 0.1.0)
|
|
275
316
|
websocket-extensions (0.1.5)
|
|
317
|
+
yard (0.9.45)
|
|
318
|
+
yard-lint (1.12.0)
|
|
319
|
+
yard (~> 0.9)
|
|
320
|
+
zeitwerk (~> 2.6)
|
|
276
321
|
zeitwerk (2.7.4)
|
|
277
322
|
|
|
278
323
|
PLATFORMS
|
|
@@ -287,14 +332,21 @@ PLATFORMS
|
|
|
287
332
|
|
|
288
333
|
DEPENDENCIES
|
|
289
334
|
appraisal
|
|
335
|
+
ferrum (~> 0.19)
|
|
290
336
|
magic_frozen_string_literal
|
|
291
337
|
minitest (~> 5.0)
|
|
338
|
+
minitest-strict (~> 1.0)
|
|
339
|
+
mutant
|
|
340
|
+
mutant-minitest
|
|
341
|
+
puma
|
|
292
342
|
rails (~> 8.1)
|
|
293
343
|
rake (~> 13.0)
|
|
344
|
+
simplecov (~> 0.22)
|
|
294
345
|
sprockets-rails
|
|
295
346
|
sqlite3
|
|
296
347
|
standard
|
|
297
348
|
webhukhs!
|
|
349
|
+
yard-lint
|
|
298
350
|
|
|
299
351
|
CHECKSUMS
|
|
300
352
|
action_text-trix (2.1.16) sha256=f645a2c21821b8449fd1d6770708f4031c91a2eedf9ef476e9be93c64e703a8a
|
|
@@ -309,7 +361,9 @@ CHECKSUMS
|
|
|
309
361
|
activerecord (8.1.1) sha256=e32c3a03e364fd803498eb4150c21bedc995aa83bc27122a94d480ab1dcb3d17
|
|
310
362
|
activestorage (8.1.1) sha256=bc01d8b4c55e309a0a2e218bfe502c382c9f232e28b1f4b0adc9d8719d2bf28d
|
|
311
363
|
activesupport (8.1.1) sha256=5e92534e8d0c8b8b5e6b16789c69dbea65c1d7b752269f71a39422e9546cea67
|
|
364
|
+
addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
|
|
312
365
|
appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
|
|
366
|
+
assiette (0.6.1) sha256=e0508d01d049c9f494fb87459b6a897fbb751fd5106714ee218bb45eaeaa94d0
|
|
313
367
|
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
|
|
314
368
|
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
315
369
|
bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
|
|
@@ -318,9 +372,12 @@ CHECKSUMS
|
|
|
318
372
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
319
373
|
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
|
|
320
374
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
375
|
+
diff-lcs (2.0.0) sha256=708a5d52ec2945b50f8f53a181174aa1ef2c496edf81c05957fe956dabb363d5
|
|
376
|
+
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
|
|
321
377
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
322
378
|
erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
|
|
323
379
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
380
|
+
ferrum (0.19.1) sha256=2e9ab588d24e08b6765a5a349bc5d367e5c09d3bead26270f1f2279ad7a4bc25
|
|
324
381
|
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
|
|
325
382
|
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
|
|
326
383
|
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
|
|
@@ -335,6 +392,10 @@ CHECKSUMS
|
|
|
335
392
|
marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
|
|
336
393
|
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
|
|
337
394
|
minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
|
|
395
|
+
minitest-strict (1.0.1) sha256=5bf179ed48c21013575cc00506be3fd6ceec8529636ce6897468f9574004ae06
|
|
396
|
+
mutant (0.17.1) sha256=24c7ceecae0b4efe550ab88ff06017a93828c73cd9569bda1b2689575b120e6c
|
|
397
|
+
mutant-minitest (0.17.1) sha256=53b71286b28019b64d3c565680244ce8dc3aa9095d1aa4ea4faee235ddea8a78
|
|
398
|
+
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
|
|
338
399
|
net-imap (0.6.2) sha256=08caacad486853c61676cca0c0c47df93db02abc4a8239a8b67eb0981428acc6
|
|
339
400
|
net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
|
|
340
401
|
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
|
|
@@ -354,6 +415,8 @@ CHECKSUMS
|
|
|
354
415
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
355
416
|
prism (1.7.0) sha256=10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103
|
|
356
417
|
psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
|
|
418
|
+
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
|
|
419
|
+
puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb
|
|
357
420
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
358
421
|
rack (3.2.4) sha256=5d74b6f75082a643f43c1e76b419c40f0e5527fcfee1e669ac1e6b73c0ccb6f6
|
|
359
422
|
rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
|
|
@@ -373,6 +436,10 @@ CHECKSUMS
|
|
|
373
436
|
rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
|
|
374
437
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
375
438
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
439
|
+
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
|
|
440
|
+
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
|
|
441
|
+
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
|
|
442
|
+
sorbet-runtime (0.6.13584) sha256=719bd88604fcc8d79c111784754b202fad24e97ac68187be338118e01ae8549c
|
|
376
443
|
sprockets (4.2.2) sha256=761e5a49f1c288704763f73139763564c845a8f856d52fba013458f8af1b59b1
|
|
377
444
|
sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e
|
|
378
445
|
sqlite3 (2.9.0-aarch64-linux-gnu) sha256=cfe1e0216f46d7483839719bf827129151e6c680317b99d7b8fc1597a3e13473
|
|
@@ -394,12 +461,15 @@ CHECKSUMS
|
|
|
394
461
|
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
|
|
395
462
|
unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
|
|
396
463
|
unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
|
|
464
|
+
unparser (0.9.0) sha256=4331f174a73a23b69250b13d47da3794ed1449711ee0f9ed8947dc020ba76067
|
|
397
465
|
uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
|
|
398
466
|
useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
|
|
399
|
-
webhukhs (0.
|
|
467
|
+
webhukhs (0.7.0)
|
|
400
468
|
websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
|
|
401
469
|
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
|
|
470
|
+
yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
|
|
471
|
+
yard-lint (1.12.0) sha256=e9899cfb09e9cdc33bf300933981f87abea9bebd9a83d679209a5d4ce3b0a937
|
|
402
472
|
zeitwerk (2.7.4) sha256=2bef90f356bdafe9a6c2bd32bcd804f83a4f9b8bc27f3600fff051eb3edcec8b
|
|
403
473
|
|
|
404
474
|
BUNDLED WITH
|
|
405
|
-
4.0.
|
|
475
|
+
4.0.3
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Webhukhs
|
|
4
|
+
module Admin
|
|
5
|
+
# Base controller for the admin pages. Authentication is left to the host application -
|
|
6
|
+
# mount the engine inside whatever guards the rest of your admin.
|
|
7
|
+
class ApplicationController < ActionController::Base
|
|
8
|
+
# Rails hands an engine's controllers its route helpers from an `inherited` hook, which only gets
|
|
9
|
+
# installed when the app initializes - and "webhukhs/admin" may well be required before that
|
|
10
|
+
include Webhukhs::Admin::Engine.routes.url_helpers
|
|
11
|
+
|
|
12
|
+
helper Webhukhs::Admin::Engine.routes.url_helpers
|
|
13
|
+
|
|
14
|
+
layout "webhukhs/admin/application"
|
|
15
|
+
helper Assiette::Helpers
|
|
16
|
+
helper Webhukhs::Admin::ViewHelper
|
|
17
|
+
|
|
18
|
+
# Bodies and headers are whatever a sender chose to send us, so we do not let the page load
|
|
19
|
+
# anything that is not ours
|
|
20
|
+
content_security_policy do |policy|
|
|
21
|
+
policy.default_src :none
|
|
22
|
+
policy.script_src :self
|
|
23
|
+
policy.style_src :self
|
|
24
|
+
policy.img_src :self, :data
|
|
25
|
+
policy.connect_src :self
|
|
26
|
+
policy.base_uri :none
|
|
27
|
+
policy.form_action :self
|
|
28
|
+
policy.frame_ancestors :none
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|