e2e 0.7.1 → 0.7.3
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/CHANGELOG.md +17 -0
- data/README.md +20 -0
- data/gemfiles/rails_7.0.gemfile.lock +38 -37
- data/gemfiles/rails_7.1.gemfile.lock +30 -29
- data/gemfiles/rails_7.2.gemfile.lock +30 -29
- data/gemfiles/rails_8.0.gemfile.lock +30 -29
- data/gemfiles/rails_8.1.gemfile.lock +30 -29
- data/lib/e2e/minitest.rb +5 -0
- data/lib/e2e/rspec.rb +4 -0
- data/lib/e2e/server.rb +26 -0
- data/lib/e2e/version.rb +1 -1
- data/lib/e2e/vite_assets.rb +133 -0
- data/lib/e2e.rb +7 -1
- data/lib/generators/e2e/install_generator.rb +6 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 054a523b511bfbd8e1798c0b4733161b29a2a65938b8697266e36f8f63c7207e
|
|
4
|
+
data.tar.gz: f27d6c894f7dfeaa3626274b6dab9819de23f7249980a69f783e3740f86f62cb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4318374aef6f2f4fbcdff1c5019d9122ee8bdc3843bf96181c1aee9733f34c882b9c9ee9a38fff3714dd64a8a761b70f5d2fb36e49643b69591822861034f294
|
|
7
|
+
data.tar.gz: 76cd349a59d5fe14f44e06d9c6c65f711e7eea2feb8c6806369d5e4457b3e2c149af43fef43d5a70fdbfeb49273fb043074b2cd4225af473f6fb847c3ab46da8
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.7.3] - 2026-08-20
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `E2E::Server` eager loads a Rails app (once, before the in-process WEBrick thread starts) to close a rare full-process deadlock: Zeitwerk's per-loader autoload monitor and Ruby's own internal `require` lock can deadlock each other (a classic lock-ordering inversion) when the server thread and the caller's thread each reference a not-yet-loaded app constant for the first time at the same moment. The process idles at ~0% CPU forever with no exception raised. Only reproduces when `config.eager_load` is off (the common local-dev/test setting; CI setups that force eager loading were never affected). Opt out with `config.eager_load_app = false`.
|
|
15
|
+
|
|
16
|
+
## [0.7.2] - 2026-08-13
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- `E2E.config.ensure_vite_assets` (`:auto` by default) builds ViteRuby test assets once before the e2e suite (RSpec `before(:suite)`, Minitest `before_setup`). Modes: `:auto` (build when ViteRuby is loaded), `:build` (require ViteRuby), `:warn`, `:skip`. Serialized with a flock so only one process compiles; ViteRuby skips compile when the watched-files digest is unchanged. Escape hatch: `SKIP_VITE_TEST_BUILD=1`.
|
|
21
|
+
- Install generator documents `ensure_vite_assets` in the helper template.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Inertia / vite_rails apps no longer silently run e2e against a stale `public/vite-test` bundle when specs are started without a manual `bin/vite build --mode=test`.
|
|
26
|
+
|
|
10
27
|
## [0.7.1] - 2026-08-05
|
|
11
28
|
|
|
12
29
|
### Fixed
|
data/README.md
CHANGED
|
@@ -336,6 +336,14 @@ E2E.configure do |config|
|
|
|
336
336
|
config.wait_timeout = 5 # Seconds to wait in auto-waiting matchers (default: 5)
|
|
337
337
|
config.navigation_wait_until = "domcontentloaded" # Avoid hangs on third-party iframes
|
|
338
338
|
config.navigation_timeout = 30 # Seconds for page.goto
|
|
339
|
+
# Vite / Inertia: ensure public/vite-test is fresh before the suite
|
|
340
|
+
# :auto (default) | :build | :warn | :skip — or SKIP_VITE_TEST_BUILD=1
|
|
341
|
+
config.ensure_vite_assets = :auto
|
|
342
|
+
# Eager load a Rails app (once) before the in-process server thread starts.
|
|
343
|
+
# Prevents a rare deadlock where that thread and the caller's thread race to
|
|
344
|
+
# autoload the same app constant for the first time. Leave this on unless
|
|
345
|
+
# eager loading your app is itself broken. Default: true
|
|
346
|
+
config.eager_load_app = true
|
|
339
347
|
config.flash_selectors = {
|
|
340
348
|
any: "[role='alert'], [role='status'], .flash",
|
|
341
349
|
notice: "[role='status'], .flash.notice",
|
|
@@ -344,6 +352,18 @@ E2E.configure do |config|
|
|
|
344
352
|
end
|
|
345
353
|
```
|
|
346
354
|
|
|
355
|
+
### Vite / Inertia assets
|
|
356
|
+
|
|
357
|
+
Apps using `vite_rails` with `config/vite.json` `test.autoBuild: false` serve prebuilt files from `public/vite-test`. If that bundle is older than your frontend, e2e fails with missing buttons/pages instead of a clear asset error.
|
|
358
|
+
|
|
359
|
+
With `ensure_vite_assets: :auto` (default), the gem calls `ViteRuby.commands.build` once before the suite. ViteRuby skips the real compile when nothing changed. A file lock keeps a single builder if several processes start together.
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
# Prefer either of these when building manually / in CI:
|
|
363
|
+
bin/vite build --mode=test
|
|
364
|
+
RAILS_ENV=test bin/vite build
|
|
365
|
+
```
|
|
366
|
+
|
|
347
367
|
### Multiple Browsers
|
|
348
368
|
|
|
349
369
|
One of the key advantages of Playwright is true cross-browser testing. You can easily switch engines:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
e2e (0.7.
|
|
4
|
+
e2e (0.7.3)
|
|
5
5
|
playwright-ruby-client (>= 1.40.0)
|
|
6
6
|
rack
|
|
7
7
|
rackup
|
|
@@ -92,29 +92,29 @@ GEM
|
|
|
92
92
|
benchmark (0.5.0)
|
|
93
93
|
bigdecimal (4.1.2)
|
|
94
94
|
builder (3.3.0)
|
|
95
|
-
concurrent-ruby (1.3.
|
|
95
|
+
concurrent-ruby (1.3.8)
|
|
96
96
|
crass (1.0.7)
|
|
97
97
|
date (3.5.1)
|
|
98
98
|
diff-lcs (1.6.2)
|
|
99
99
|
drb (2.2.3)
|
|
100
|
-
erb (6.0.
|
|
100
|
+
erb (6.0.7)
|
|
101
101
|
erubi (1.13.1)
|
|
102
102
|
globalid (1.4.0)
|
|
103
103
|
activesupport (>= 6.1)
|
|
104
104
|
i18n (1.15.2)
|
|
105
105
|
concurrent-ruby (~> 1.0)
|
|
106
|
-
io-console (0.
|
|
106
|
+
io-console (0.9.2)
|
|
107
107
|
irb (1.18.0)
|
|
108
108
|
pp (>= 0.6.0)
|
|
109
109
|
prism (>= 1.3.0)
|
|
110
110
|
rdoc (>= 4.0.0)
|
|
111
111
|
reline (>= 0.4.2)
|
|
112
|
-
json (2.21.
|
|
112
|
+
json (2.21.2)
|
|
113
113
|
language_server-protocol (3.17.0.6)
|
|
114
114
|
lefthook (2.1.10)
|
|
115
115
|
lint_roller (1.1.0)
|
|
116
116
|
logger (1.7.0)
|
|
117
|
-
loofah (2.25.
|
|
117
|
+
loofah (2.25.2)
|
|
118
118
|
crass (~> 1.0.2)
|
|
119
119
|
nokogiri (>= 1.12.0)
|
|
120
120
|
mail (2.9.1)
|
|
@@ -135,7 +135,7 @@ GEM
|
|
|
135
135
|
drb (~> 2.0)
|
|
136
136
|
prism (~> 1.5)
|
|
137
137
|
mutex_m (0.3.0)
|
|
138
|
-
net-imap (0.6.
|
|
138
|
+
net-imap (0.6.6)
|
|
139
139
|
date
|
|
140
140
|
net-protocol
|
|
141
141
|
net-pop (0.1.2)
|
|
@@ -162,10 +162,10 @@ GEM
|
|
|
162
162
|
nokogiri (1.19.4-x86_64-linux-musl)
|
|
163
163
|
racc (~> 1.4)
|
|
164
164
|
parallel (2.1.0)
|
|
165
|
-
parser (3.3.
|
|
165
|
+
parser (3.3.12.0)
|
|
166
166
|
ast (~> 2.4.1)
|
|
167
167
|
racc
|
|
168
|
-
playwright-ruby-client (1.
|
|
168
|
+
playwright-ruby-client (1.62.0)
|
|
169
169
|
base64
|
|
170
170
|
concurrent-ruby (>= 1.1.6)
|
|
171
171
|
mime-types (>= 3.0)
|
|
@@ -174,7 +174,7 @@ GEM
|
|
|
174
174
|
prettyprint (0.2.0)
|
|
175
175
|
prism (1.9.0)
|
|
176
176
|
racc (1.8.1)
|
|
177
|
-
rack (2.2.
|
|
177
|
+
rack (2.2.24)
|
|
178
178
|
rack-test (2.2.0)
|
|
179
179
|
rack (>= 1.3)
|
|
180
180
|
rackup (1.0.1)
|
|
@@ -198,8 +198,8 @@ GEM
|
|
|
198
198
|
activesupport (>= 5.0.0)
|
|
199
199
|
minitest
|
|
200
200
|
nokogiri (>= 1.6)
|
|
201
|
-
rails-html-sanitizer (1.7.
|
|
202
|
-
loofah (~> 2.25)
|
|
201
|
+
rails-html-sanitizer (1.7.1)
|
|
202
|
+
loofah (~> 2.25, >= 2.25.2)
|
|
203
203
|
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)
|
|
204
204
|
railties (7.0.10)
|
|
205
205
|
actionpack (= 7.0.10)
|
|
@@ -210,7 +210,7 @@ GEM
|
|
|
210
210
|
zeitwerk (~> 2.5)
|
|
211
211
|
rainbow (3.1.1)
|
|
212
212
|
rake (13.4.2)
|
|
213
|
-
rbs (4.
|
|
213
|
+
rbs (4.1.3)
|
|
214
214
|
logger
|
|
215
215
|
prism (>= 1.6.0)
|
|
216
216
|
tsort
|
|
@@ -220,7 +220,7 @@ GEM
|
|
|
220
220
|
rbs (>= 4.0.0)
|
|
221
221
|
tsort
|
|
222
222
|
regexp_parser (2.12.0)
|
|
223
|
-
reline (0.
|
|
223
|
+
reline (0.7.0)
|
|
224
224
|
io-console (~> 0.5)
|
|
225
225
|
rspec (3.13.2)
|
|
226
226
|
rspec-core (~> 3.13.0)
|
|
@@ -235,7 +235,7 @@ GEM
|
|
|
235
235
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
236
236
|
rspec-support (~> 3.13.0)
|
|
237
237
|
rspec-support (3.13.7)
|
|
238
|
-
rubocop (1.
|
|
238
|
+
rubocop (1.88.2)
|
|
239
239
|
json (~> 2.3)
|
|
240
240
|
language_server-protocol (~> 3.17.0.2)
|
|
241
241
|
lint_roller (~> 1.1.0)
|
|
@@ -259,13 +259,13 @@ GEM
|
|
|
259
259
|
rubocop (~> 1.86, >= 1.86.2)
|
|
260
260
|
ruby-progressbar (1.13.0)
|
|
261
261
|
securerandom (0.4.1)
|
|
262
|
-
simplecov (1.
|
|
262
|
+
simplecov (1.1.1)
|
|
263
263
|
sqlite3 (1.7.3)
|
|
264
264
|
mini_portile2 (~> 2.8.0)
|
|
265
|
-
standard (1.
|
|
265
|
+
standard (1.56.0)
|
|
266
266
|
language_server-protocol (~> 3.17.0.2)
|
|
267
267
|
lint_roller (~> 1.0)
|
|
268
|
-
rubocop (~> 1.
|
|
268
|
+
rubocop (~> 1.88.0)
|
|
269
269
|
standard-custom (~> 1.0.0)
|
|
270
270
|
standard-performance (~> 1.8)
|
|
271
271
|
standard-custom (1.0.2)
|
|
@@ -287,7 +287,7 @@ GEM
|
|
|
287
287
|
base64
|
|
288
288
|
websocket-extensions (>= 0.1.0)
|
|
289
289
|
websocket-extensions (0.1.5)
|
|
290
|
-
zeitwerk (2.8.
|
|
290
|
+
zeitwerk (2.8.3)
|
|
291
291
|
|
|
292
292
|
PLATFORMS
|
|
293
293
|
aarch64-linux-gnu
|
|
@@ -333,24 +333,25 @@ CHECKSUMS
|
|
|
333
333
|
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
334
334
|
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
335
335
|
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
336
|
-
|
|
336
|
+
bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
|
|
337
|
+
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
337
338
|
crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
|
|
338
339
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
339
340
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
340
341
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
341
|
-
e2e (0.7.
|
|
342
|
-
erb (6.0.
|
|
342
|
+
e2e (0.7.3)
|
|
343
|
+
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
343
344
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
344
345
|
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
|
|
345
346
|
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
346
|
-
io-console (0.
|
|
347
|
+
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
|
|
347
348
|
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
348
|
-
json (2.21.
|
|
349
|
+
json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
|
|
349
350
|
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
350
351
|
lefthook (2.1.10) sha256=cc9c06bd8ea689e8b8016eab9769e54d696d07951860c1c6d28e8f6812e61b65
|
|
351
352
|
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
|
|
352
353
|
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
|
|
353
|
-
loofah (2.25.
|
|
354
|
+
loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
|
|
354
355
|
mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8
|
|
355
356
|
marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
|
|
356
357
|
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
|
|
@@ -360,7 +361,7 @@ CHECKSUMS
|
|
|
360
361
|
mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
|
|
361
362
|
minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
|
|
362
363
|
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
|
|
363
|
-
net-imap (0.6.
|
|
364
|
+
net-imap (0.6.6) sha256=96aa4ee50df3060203e649efc341f53480b791d49e150f2fdebf68beb141a8df
|
|
364
365
|
net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
|
|
365
366
|
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
|
|
366
367
|
net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
|
|
@@ -374,39 +375,39 @@ CHECKSUMS
|
|
|
374
375
|
nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
|
|
375
376
|
nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
|
|
376
377
|
parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
|
|
377
|
-
parser (3.3.
|
|
378
|
-
playwright-ruby-client (1.
|
|
378
|
+
parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
|
|
379
|
+
playwright-ruby-client (1.62.0) sha256=44eb6051ab7987f68a1288a7db7892403e59680116739987729c5fecfdb55715
|
|
379
380
|
pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
|
|
380
381
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
381
382
|
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
382
383
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
383
|
-
rack (2.2.
|
|
384
|
+
rack (2.2.24) sha256=ef16526a0d871c43753452338c754040a664c8b41bf0dd7450b85f7772adca5f
|
|
384
385
|
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
385
386
|
rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249
|
|
386
387
|
rails (7.0.10) sha256=866eb2c53d3184543fdb770d7ea308e4ee518063226a9e176229f3c7a9537c25
|
|
387
388
|
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
|
|
388
|
-
rails-html-sanitizer (1.7.
|
|
389
|
+
rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
|
|
389
390
|
railties (7.0.10) sha256=d52a8b7a61ad941121a15a6596b2150e05c70b199c3afc9e9b73e63b3b1a57a7
|
|
390
391
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
391
392
|
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
392
|
-
rbs (4.
|
|
393
|
+
rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
|
|
393
394
|
rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
|
|
394
395
|
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
|
|
395
|
-
reline (0.
|
|
396
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
396
397
|
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
397
398
|
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
398
399
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
399
400
|
rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
|
|
400
401
|
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
|
|
401
|
-
rubocop (1.
|
|
402
|
+
rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf
|
|
402
403
|
rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
|
|
403
404
|
rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
|
|
404
405
|
rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
|
|
405
406
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
406
407
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
407
|
-
simplecov (1.
|
|
408
|
+
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
408
409
|
sqlite3 (1.7.3) sha256=fa77f63c709548f46d4e9b6bb45cda52aa3881aa12cc85991132758e8968701c
|
|
409
|
-
standard (1.
|
|
410
|
+
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
410
411
|
standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
|
|
411
412
|
standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
|
|
412
413
|
thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
|
|
@@ -418,7 +419,7 @@ CHECKSUMS
|
|
|
418
419
|
webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
|
|
419
420
|
websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146
|
|
420
421
|
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
|
|
421
|
-
zeitwerk (2.8.
|
|
422
|
+
zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
|
|
422
423
|
|
|
423
424
|
BUNDLED WITH
|
|
424
|
-
4.0.
|
|
425
|
+
4.0.16
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
e2e (0.7.
|
|
4
|
+
e2e (0.7.3)
|
|
5
5
|
playwright-ruby-client (>= 1.40.0)
|
|
6
6
|
rack
|
|
7
7
|
rackup
|
|
@@ -111,7 +111,7 @@ GEM
|
|
|
111
111
|
activesupport (>= 6.1)
|
|
112
112
|
i18n (1.15.2)
|
|
113
113
|
concurrent-ruby (~> 1.0)
|
|
114
|
-
io-console (0.
|
|
114
|
+
io-console (0.9.2)
|
|
115
115
|
irb (1.18.0)
|
|
116
116
|
pp (>= 0.6.0)
|
|
117
117
|
prism (>= 1.3.0)
|
|
@@ -180,7 +180,7 @@ GEM
|
|
|
180
180
|
prettyprint (0.2.0)
|
|
181
181
|
prism (1.9.0)
|
|
182
182
|
racc (1.8.1)
|
|
183
|
-
rack (3.2.
|
|
183
|
+
rack (3.2.7)
|
|
184
184
|
rack-session (2.1.2)
|
|
185
185
|
base64 (>= 0.1.0)
|
|
186
186
|
rack (>= 3.0.0)
|
|
@@ -221,7 +221,7 @@ GEM
|
|
|
221
221
|
zeitwerk (~> 2.6)
|
|
222
222
|
rainbow (3.1.1)
|
|
223
223
|
rake (13.4.2)
|
|
224
|
-
rbs (4.1.
|
|
224
|
+
rbs (4.1.3)
|
|
225
225
|
logger
|
|
226
226
|
prism (>= 1.6.0)
|
|
227
227
|
tsort
|
|
@@ -231,7 +231,7 @@ GEM
|
|
|
231
231
|
rbs (>= 4.0.0)
|
|
232
232
|
tsort
|
|
233
233
|
regexp_parser (2.12.0)
|
|
234
|
-
reline (0.
|
|
234
|
+
reline (0.7.0)
|
|
235
235
|
io-console (~> 0.5)
|
|
236
236
|
rspec (3.13.2)
|
|
237
237
|
rspec-core (~> 3.13.0)
|
|
@@ -270,15 +270,15 @@ GEM
|
|
|
270
270
|
rubocop (~> 1.86, >= 1.86.2)
|
|
271
271
|
ruby-progressbar (1.13.0)
|
|
272
272
|
securerandom (0.4.1)
|
|
273
|
-
simplecov (1.
|
|
274
|
-
sqlite3 (2.9.
|
|
275
|
-
sqlite3 (2.9.
|
|
276
|
-
sqlite3 (2.9.
|
|
277
|
-
sqlite3 (2.9.
|
|
278
|
-
sqlite3 (2.9.
|
|
279
|
-
sqlite3 (2.9.
|
|
280
|
-
sqlite3 (2.9.
|
|
281
|
-
sqlite3 (2.9.
|
|
273
|
+
simplecov (1.1.1)
|
|
274
|
+
sqlite3 (2.9.6-aarch64-linux-gnu)
|
|
275
|
+
sqlite3 (2.9.6-aarch64-linux-musl)
|
|
276
|
+
sqlite3 (2.9.6-arm-linux-gnu)
|
|
277
|
+
sqlite3 (2.9.6-arm-linux-musl)
|
|
278
|
+
sqlite3 (2.9.6-arm64-darwin)
|
|
279
|
+
sqlite3 (2.9.6-x86_64-darwin)
|
|
280
|
+
sqlite3 (2.9.6-x86_64-linux-gnu)
|
|
281
|
+
sqlite3 (2.9.6-x86_64-linux-musl)
|
|
282
282
|
standard (1.56.0)
|
|
283
283
|
language_server-protocol (~> 3.17.0.2)
|
|
284
284
|
lint_roller (~> 1.0)
|
|
@@ -350,6 +350,7 @@ CHECKSUMS
|
|
|
350
350
|
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
351
351
|
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
352
352
|
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
353
|
+
bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
|
|
353
354
|
cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
|
|
354
355
|
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
355
356
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
@@ -357,12 +358,12 @@ CHECKSUMS
|
|
|
357
358
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
358
359
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
359
360
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
360
|
-
e2e (0.7.
|
|
361
|
+
e2e (0.7.3)
|
|
361
362
|
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
362
363
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
363
364
|
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
|
|
364
365
|
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
365
|
-
io-console (0.
|
|
366
|
+
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
|
|
366
367
|
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
367
368
|
json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
|
|
368
369
|
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
@@ -397,7 +398,7 @@ CHECKSUMS
|
|
|
397
398
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
398
399
|
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
399
400
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
400
|
-
rack (3.2.
|
|
401
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
401
402
|
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
402
403
|
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
403
404
|
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
|
|
@@ -407,10 +408,10 @@ CHECKSUMS
|
|
|
407
408
|
railties (7.1.6) sha256=2a10e97f2eaca66d11f0fef4b1f4d826e6ee28d4cf01ff16624420dd45e7de1c
|
|
408
409
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
409
410
|
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
410
|
-
rbs (4.1.
|
|
411
|
+
rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
|
|
411
412
|
rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
|
|
412
413
|
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
|
|
413
|
-
reline (0.
|
|
414
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
414
415
|
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
415
416
|
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
416
417
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
@@ -422,15 +423,15 @@ CHECKSUMS
|
|
|
422
423
|
rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
|
|
423
424
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
424
425
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
425
|
-
simplecov (1.
|
|
426
|
-
sqlite3 (2.9.
|
|
427
|
-
sqlite3 (2.9.
|
|
428
|
-
sqlite3 (2.9.
|
|
429
|
-
sqlite3 (2.9.
|
|
430
|
-
sqlite3 (2.9.
|
|
431
|
-
sqlite3 (2.9.
|
|
432
|
-
sqlite3 (2.9.
|
|
433
|
-
sqlite3 (2.9.
|
|
426
|
+
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
427
|
+
sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
|
|
428
|
+
sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
|
|
429
|
+
sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
|
|
430
|
+
sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
|
|
431
|
+
sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
|
|
432
|
+
sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
|
|
433
|
+
sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
|
|
434
|
+
sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
|
|
434
435
|
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
435
436
|
standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
|
|
436
437
|
standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
|
|
@@ -446,4 +447,4 @@ CHECKSUMS
|
|
|
446
447
|
zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
|
|
447
448
|
|
|
448
449
|
BUNDLED WITH
|
|
449
|
-
4.0.
|
|
450
|
+
4.0.16
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
e2e (0.7.
|
|
4
|
+
e2e (0.7.3)
|
|
5
5
|
playwright-ruby-client (>= 1.40.0)
|
|
6
6
|
rack
|
|
7
7
|
rackup
|
|
@@ -105,7 +105,7 @@ GEM
|
|
|
105
105
|
activesupport (>= 6.1)
|
|
106
106
|
i18n (1.15.2)
|
|
107
107
|
concurrent-ruby (~> 1.0)
|
|
108
|
-
io-console (0.
|
|
108
|
+
io-console (0.9.2)
|
|
109
109
|
irb (1.18.0)
|
|
110
110
|
pp (>= 0.6.0)
|
|
111
111
|
prism (>= 1.3.0)
|
|
@@ -173,7 +173,7 @@ GEM
|
|
|
173
173
|
prettyprint (0.2.0)
|
|
174
174
|
prism (1.9.0)
|
|
175
175
|
racc (1.8.1)
|
|
176
|
-
rack (3.2.
|
|
176
|
+
rack (3.2.7)
|
|
177
177
|
rack-session (2.1.2)
|
|
178
178
|
base64 (>= 0.1.0)
|
|
179
179
|
rack (>= 3.0.0)
|
|
@@ -214,7 +214,7 @@ GEM
|
|
|
214
214
|
zeitwerk (~> 2.6)
|
|
215
215
|
rainbow (3.1.1)
|
|
216
216
|
rake (13.4.2)
|
|
217
|
-
rbs (4.1.
|
|
217
|
+
rbs (4.1.3)
|
|
218
218
|
logger
|
|
219
219
|
prism (>= 1.6.0)
|
|
220
220
|
tsort
|
|
@@ -224,7 +224,7 @@ GEM
|
|
|
224
224
|
rbs (>= 4.0.0)
|
|
225
225
|
tsort
|
|
226
226
|
regexp_parser (2.12.0)
|
|
227
|
-
reline (0.
|
|
227
|
+
reline (0.7.0)
|
|
228
228
|
io-console (~> 0.5)
|
|
229
229
|
rspec (3.13.2)
|
|
230
230
|
rspec-core (~> 3.13.0)
|
|
@@ -263,15 +263,15 @@ GEM
|
|
|
263
263
|
rubocop (~> 1.86, >= 1.86.2)
|
|
264
264
|
ruby-progressbar (1.13.0)
|
|
265
265
|
securerandom (0.4.1)
|
|
266
|
-
simplecov (1.
|
|
267
|
-
sqlite3 (2.9.
|
|
268
|
-
sqlite3 (2.9.
|
|
269
|
-
sqlite3 (2.9.
|
|
270
|
-
sqlite3 (2.9.
|
|
271
|
-
sqlite3 (2.9.
|
|
272
|
-
sqlite3 (2.9.
|
|
273
|
-
sqlite3 (2.9.
|
|
274
|
-
sqlite3 (2.9.
|
|
266
|
+
simplecov (1.1.1)
|
|
267
|
+
sqlite3 (2.9.6-aarch64-linux-gnu)
|
|
268
|
+
sqlite3 (2.9.6-aarch64-linux-musl)
|
|
269
|
+
sqlite3 (2.9.6-arm-linux-gnu)
|
|
270
|
+
sqlite3 (2.9.6-arm-linux-musl)
|
|
271
|
+
sqlite3 (2.9.6-arm64-darwin)
|
|
272
|
+
sqlite3 (2.9.6-x86_64-darwin)
|
|
273
|
+
sqlite3 (2.9.6-x86_64-linux-gnu)
|
|
274
|
+
sqlite3 (2.9.6-x86_64-linux-musl)
|
|
275
275
|
standard (1.56.0)
|
|
276
276
|
language_server-protocol (~> 3.17.0.2)
|
|
277
277
|
lint_roller (~> 1.0)
|
|
@@ -344,6 +344,7 @@ CHECKSUMS
|
|
|
344
344
|
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
345
345
|
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
346
346
|
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
347
|
+
bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
|
|
347
348
|
cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
|
|
348
349
|
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
349
350
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
@@ -351,12 +352,12 @@ CHECKSUMS
|
|
|
351
352
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
352
353
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
353
354
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
354
|
-
e2e (0.7.
|
|
355
|
+
e2e (0.7.3)
|
|
355
356
|
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
356
357
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
357
358
|
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
|
|
358
359
|
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
359
|
-
io-console (0.
|
|
360
|
+
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
|
|
360
361
|
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
361
362
|
json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
|
|
362
363
|
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
@@ -390,7 +391,7 @@ CHECKSUMS
|
|
|
390
391
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
391
392
|
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
392
393
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
393
|
-
rack (3.2.
|
|
394
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
394
395
|
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
395
396
|
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
396
397
|
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
|
|
@@ -400,10 +401,10 @@ CHECKSUMS
|
|
|
400
401
|
railties (7.2.3) sha256=6eb010a6bfe6f223e783f739ddfcbdb5b88b1f3a87f7739f0a0685e466250422
|
|
401
402
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
402
403
|
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
403
|
-
rbs (4.1.
|
|
404
|
+
rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
|
|
404
405
|
rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
|
|
405
406
|
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
|
|
406
|
-
reline (0.
|
|
407
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
407
408
|
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
408
409
|
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
409
410
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
@@ -415,15 +416,15 @@ CHECKSUMS
|
|
|
415
416
|
rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
|
|
416
417
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
417
418
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
418
|
-
simplecov (1.
|
|
419
|
-
sqlite3 (2.9.
|
|
420
|
-
sqlite3 (2.9.
|
|
421
|
-
sqlite3 (2.9.
|
|
422
|
-
sqlite3 (2.9.
|
|
423
|
-
sqlite3 (2.9.
|
|
424
|
-
sqlite3 (2.9.
|
|
425
|
-
sqlite3 (2.9.
|
|
426
|
-
sqlite3 (2.9.
|
|
419
|
+
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
420
|
+
sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
|
|
421
|
+
sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
|
|
422
|
+
sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
|
|
423
|
+
sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
|
|
424
|
+
sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
|
|
425
|
+
sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
|
|
426
|
+
sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
|
|
427
|
+
sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
|
|
427
428
|
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
428
429
|
standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
|
|
429
430
|
standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
|
|
@@ -440,4 +441,4 @@ CHECKSUMS
|
|
|
440
441
|
zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
|
|
441
442
|
|
|
442
443
|
BUNDLED WITH
|
|
443
|
-
4.0.
|
|
444
|
+
4.0.16
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
e2e (0.7.
|
|
4
|
+
e2e (0.7.3)
|
|
5
5
|
playwright-ruby-client (>= 1.40.0)
|
|
6
6
|
rack
|
|
7
7
|
rackup
|
|
@@ -102,7 +102,7 @@ GEM
|
|
|
102
102
|
activesupport (>= 6.1)
|
|
103
103
|
i18n (1.15.2)
|
|
104
104
|
concurrent-ruby (~> 1.0)
|
|
105
|
-
io-console (0.
|
|
105
|
+
io-console (0.9.2)
|
|
106
106
|
irb (1.18.0)
|
|
107
107
|
pp (>= 0.6.0)
|
|
108
108
|
prism (>= 1.3.0)
|
|
@@ -170,7 +170,7 @@ GEM
|
|
|
170
170
|
prettyprint (0.2.0)
|
|
171
171
|
prism (1.9.0)
|
|
172
172
|
racc (1.8.1)
|
|
173
|
-
rack (3.2.
|
|
173
|
+
rack (3.2.7)
|
|
174
174
|
rack-session (2.1.2)
|
|
175
175
|
base64 (>= 0.1.0)
|
|
176
176
|
rack (>= 3.0.0)
|
|
@@ -210,7 +210,7 @@ GEM
|
|
|
210
210
|
zeitwerk (~> 2.6)
|
|
211
211
|
rainbow (3.1.1)
|
|
212
212
|
rake (13.4.2)
|
|
213
|
-
rbs (4.1.
|
|
213
|
+
rbs (4.1.3)
|
|
214
214
|
logger
|
|
215
215
|
prism (>= 1.6.0)
|
|
216
216
|
tsort
|
|
@@ -220,7 +220,7 @@ GEM
|
|
|
220
220
|
rbs (>= 4.0.0)
|
|
221
221
|
tsort
|
|
222
222
|
regexp_parser (2.12.0)
|
|
223
|
-
reline (0.
|
|
223
|
+
reline (0.7.0)
|
|
224
224
|
io-console (~> 0.5)
|
|
225
225
|
rspec (3.13.2)
|
|
226
226
|
rspec-core (~> 3.13.0)
|
|
@@ -259,15 +259,15 @@ GEM
|
|
|
259
259
|
rubocop (~> 1.86, >= 1.86.2)
|
|
260
260
|
ruby-progressbar (1.13.0)
|
|
261
261
|
securerandom (0.4.1)
|
|
262
|
-
simplecov (1.
|
|
263
|
-
sqlite3 (2.9.
|
|
264
|
-
sqlite3 (2.9.
|
|
265
|
-
sqlite3 (2.9.
|
|
266
|
-
sqlite3 (2.9.
|
|
267
|
-
sqlite3 (2.9.
|
|
268
|
-
sqlite3 (2.9.
|
|
269
|
-
sqlite3 (2.9.
|
|
270
|
-
sqlite3 (2.9.
|
|
262
|
+
simplecov (1.1.1)
|
|
263
|
+
sqlite3 (2.9.6-aarch64-linux-gnu)
|
|
264
|
+
sqlite3 (2.9.6-aarch64-linux-musl)
|
|
265
|
+
sqlite3 (2.9.6-arm-linux-gnu)
|
|
266
|
+
sqlite3 (2.9.6-arm-linux-musl)
|
|
267
|
+
sqlite3 (2.9.6-arm64-darwin)
|
|
268
|
+
sqlite3 (2.9.6-x86_64-darwin)
|
|
269
|
+
sqlite3 (2.9.6-x86_64-linux-gnu)
|
|
270
|
+
sqlite3 (2.9.6-x86_64-linux-musl)
|
|
271
271
|
standard (1.56.0)
|
|
272
272
|
language_server-protocol (~> 3.17.0.2)
|
|
273
273
|
lint_roller (~> 1.0)
|
|
@@ -341,18 +341,19 @@ CHECKSUMS
|
|
|
341
341
|
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
342
342
|
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
343
343
|
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
344
|
+
bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
|
|
344
345
|
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
345
346
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
346
347
|
crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
|
|
347
348
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
348
349
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
349
350
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
350
|
-
e2e (0.7.
|
|
351
|
+
e2e (0.7.3)
|
|
351
352
|
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
352
353
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
353
354
|
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
|
|
354
355
|
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
355
|
-
io-console (0.
|
|
356
|
+
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
|
|
356
357
|
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
357
358
|
json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
|
|
358
359
|
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
@@ -386,7 +387,7 @@ CHECKSUMS
|
|
|
386
387
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
387
388
|
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
388
389
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
389
|
-
rack (3.2.
|
|
390
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
390
391
|
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
391
392
|
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
392
393
|
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
|
|
@@ -396,10 +397,10 @@ CHECKSUMS
|
|
|
396
397
|
railties (8.0.5.1) sha256=da1958e1d9dab04691a2f8721b3ff7fab323715d37f103c19972dedfd644d5c7
|
|
397
398
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
398
399
|
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
399
|
-
rbs (4.1.
|
|
400
|
+
rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
|
|
400
401
|
rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
|
|
401
402
|
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
|
|
402
|
-
reline (0.
|
|
403
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
403
404
|
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
404
405
|
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
405
406
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
@@ -411,15 +412,15 @@ CHECKSUMS
|
|
|
411
412
|
rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
|
|
412
413
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
413
414
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
414
|
-
simplecov (1.
|
|
415
|
-
sqlite3 (2.9.
|
|
416
|
-
sqlite3 (2.9.
|
|
417
|
-
sqlite3 (2.9.
|
|
418
|
-
sqlite3 (2.9.
|
|
419
|
-
sqlite3 (2.9.
|
|
420
|
-
sqlite3 (2.9.
|
|
421
|
-
sqlite3 (2.9.
|
|
422
|
-
sqlite3 (2.9.
|
|
415
|
+
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
416
|
+
sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
|
|
417
|
+
sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
|
|
418
|
+
sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
|
|
419
|
+
sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
|
|
420
|
+
sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
|
|
421
|
+
sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
|
|
422
|
+
sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
|
|
423
|
+
sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
|
|
423
424
|
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
424
425
|
standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
|
|
425
426
|
standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
|
|
@@ -437,4 +438,4 @@ CHECKSUMS
|
|
|
437
438
|
zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
|
|
438
439
|
|
|
439
440
|
BUNDLED WITH
|
|
440
|
-
4.0.
|
|
441
|
+
4.0.16
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
e2e (0.7.
|
|
4
|
+
e2e (0.7.3)
|
|
5
5
|
playwright-ruby-client (>= 1.40.0)
|
|
6
6
|
rack
|
|
7
7
|
rackup
|
|
@@ -104,7 +104,7 @@ GEM
|
|
|
104
104
|
activesupport (>= 6.1)
|
|
105
105
|
i18n (1.15.2)
|
|
106
106
|
concurrent-ruby (~> 1.0)
|
|
107
|
-
io-console (0.
|
|
107
|
+
io-console (0.9.2)
|
|
108
108
|
irb (1.18.0)
|
|
109
109
|
pp (>= 0.6.0)
|
|
110
110
|
prism (>= 1.3.0)
|
|
@@ -172,7 +172,7 @@ GEM
|
|
|
172
172
|
prettyprint (0.2.0)
|
|
173
173
|
prism (1.9.0)
|
|
174
174
|
racc (1.8.1)
|
|
175
|
-
rack (3.2.
|
|
175
|
+
rack (3.2.7)
|
|
176
176
|
rack-session (2.1.2)
|
|
177
177
|
base64 (>= 0.1.0)
|
|
178
178
|
rack (>= 3.0.0)
|
|
@@ -212,7 +212,7 @@ GEM
|
|
|
212
212
|
zeitwerk (~> 2.6)
|
|
213
213
|
rainbow (3.1.1)
|
|
214
214
|
rake (13.4.2)
|
|
215
|
-
rbs (4.1.
|
|
215
|
+
rbs (4.1.3)
|
|
216
216
|
logger
|
|
217
217
|
prism (>= 1.6.0)
|
|
218
218
|
tsort
|
|
@@ -222,7 +222,7 @@ GEM
|
|
|
222
222
|
rbs (>= 4.0.0)
|
|
223
223
|
tsort
|
|
224
224
|
regexp_parser (2.12.0)
|
|
225
|
-
reline (0.
|
|
225
|
+
reline (0.7.0)
|
|
226
226
|
io-console (~> 0.5)
|
|
227
227
|
rspec (3.13.2)
|
|
228
228
|
rspec-core (~> 3.13.0)
|
|
@@ -261,15 +261,15 @@ GEM
|
|
|
261
261
|
rubocop (~> 1.86, >= 1.86.2)
|
|
262
262
|
ruby-progressbar (1.13.0)
|
|
263
263
|
securerandom (0.4.1)
|
|
264
|
-
simplecov (1.
|
|
265
|
-
sqlite3 (2.9.
|
|
266
|
-
sqlite3 (2.9.
|
|
267
|
-
sqlite3 (2.9.
|
|
268
|
-
sqlite3 (2.9.
|
|
269
|
-
sqlite3 (2.9.
|
|
270
|
-
sqlite3 (2.9.
|
|
271
|
-
sqlite3 (2.9.
|
|
272
|
-
sqlite3 (2.9.
|
|
264
|
+
simplecov (1.1.1)
|
|
265
|
+
sqlite3 (2.9.6-aarch64-linux-gnu)
|
|
266
|
+
sqlite3 (2.9.6-aarch64-linux-musl)
|
|
267
|
+
sqlite3 (2.9.6-arm-linux-gnu)
|
|
268
|
+
sqlite3 (2.9.6-arm-linux-musl)
|
|
269
|
+
sqlite3 (2.9.6-arm64-darwin)
|
|
270
|
+
sqlite3 (2.9.6-x86_64-darwin)
|
|
271
|
+
sqlite3 (2.9.6-x86_64-linux-gnu)
|
|
272
|
+
sqlite3 (2.9.6-x86_64-linux-musl)
|
|
273
273
|
standard (1.56.0)
|
|
274
274
|
language_server-protocol (~> 3.17.0.2)
|
|
275
275
|
lint_roller (~> 1.0)
|
|
@@ -343,18 +343,19 @@ CHECKSUMS
|
|
|
343
343
|
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
344
344
|
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
345
345
|
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
346
|
+
bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
|
|
346
347
|
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
347
348
|
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
348
349
|
crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
|
|
349
350
|
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
350
351
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
351
352
|
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
352
|
-
e2e (0.7.
|
|
353
|
+
e2e (0.7.3)
|
|
353
354
|
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
354
355
|
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
355
356
|
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
|
|
356
357
|
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
357
|
-
io-console (0.
|
|
358
|
+
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
|
|
358
359
|
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
359
360
|
json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
|
|
360
361
|
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
@@ -388,7 +389,7 @@ CHECKSUMS
|
|
|
388
389
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
389
390
|
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
390
391
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
391
|
-
rack (3.2.
|
|
392
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
392
393
|
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
393
394
|
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
394
395
|
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
|
|
@@ -398,10 +399,10 @@ CHECKSUMS
|
|
|
398
399
|
railties (8.1.3.1) sha256=2388a232579a00cefea4487de66c8553c3408c1300abdc6cf1799d86ffb04487
|
|
399
400
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
400
401
|
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
401
|
-
rbs (4.1.
|
|
402
|
+
rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
|
|
402
403
|
rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
|
|
403
404
|
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
|
|
404
|
-
reline (0.
|
|
405
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
405
406
|
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
406
407
|
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
407
408
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
@@ -413,15 +414,15 @@ CHECKSUMS
|
|
|
413
414
|
rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
|
|
414
415
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
415
416
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
416
|
-
simplecov (1.
|
|
417
|
-
sqlite3 (2.9.
|
|
418
|
-
sqlite3 (2.9.
|
|
419
|
-
sqlite3 (2.9.
|
|
420
|
-
sqlite3 (2.9.
|
|
421
|
-
sqlite3 (2.9.
|
|
422
|
-
sqlite3 (2.9.
|
|
423
|
-
sqlite3 (2.9.
|
|
424
|
-
sqlite3 (2.9.
|
|
417
|
+
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
418
|
+
sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
|
|
419
|
+
sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
|
|
420
|
+
sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
|
|
421
|
+
sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
|
|
422
|
+
sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
|
|
423
|
+
sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
|
|
424
|
+
sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
|
|
425
|
+
sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
|
|
425
426
|
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
426
427
|
standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
|
|
427
428
|
standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
|
|
@@ -439,4 +440,4 @@ CHECKSUMS
|
|
|
439
440
|
zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
|
|
440
441
|
|
|
441
442
|
BUNDLED WITH
|
|
442
|
-
4.0.
|
|
443
|
+
4.0.16
|
data/lib/e2e/minitest.rb
CHANGED
data/lib/e2e/rspec.rb
CHANGED
|
@@ -10,6 +10,10 @@ require_relative "matchers"
|
|
|
10
10
|
RSpec.configure do |config|
|
|
11
11
|
config.include E2E::DSL, type: :e2e
|
|
12
12
|
|
|
13
|
+
config.before(:suite) do
|
|
14
|
+
E2E::ViteAssets.ensure_built!
|
|
15
|
+
end
|
|
16
|
+
|
|
13
17
|
config.after(:each, type: :e2e) do |example|
|
|
14
18
|
if example.exception
|
|
15
19
|
# Create tmp/screenshots directory if it doesn't exist
|
data/lib/e2e/server.rb
CHANGED
|
@@ -16,6 +16,7 @@ module E2E
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def start
|
|
19
|
+
eager_load_app!
|
|
19
20
|
@thread = Thread.new do
|
|
20
21
|
webrick_handler.run(
|
|
21
22
|
@app,
|
|
@@ -43,6 +44,31 @@ module E2E
|
|
|
43
44
|
|
|
44
45
|
private
|
|
45
46
|
|
|
47
|
+
# Zeitwerk's per-loader autoload monitor and Ruby's own internal `require`
|
|
48
|
+
# lock can deadlock each other (classic lock-ordering inversion) when two
|
|
49
|
+
# threads race to autoload the same not-yet-loaded app constant for the
|
|
50
|
+
# first time. That race is exactly what this gem sets up by design: the
|
|
51
|
+
# WEBrick thread servicing the very first request and the caller's thread
|
|
52
|
+
# (evaluating spec/support files, factories, etc.) can each reference a
|
|
53
|
+
# fresh app class at the same moment, one thread ends up mid-`require`
|
|
54
|
+
# holding Ruby's require lock while waiting on Zeitwerk's monitor, the
|
|
55
|
+
# other holds that monitor while waiting on the require lock -- neither
|
|
56
|
+
# ever proceeds, and the process idles at ~0% CPU forever.
|
|
57
|
+
#
|
|
58
|
+
# Eager loading synchronously on the caller's thread, before the server
|
|
59
|
+
# thread ever starts, guarantees no constant is loaded for the first time
|
|
60
|
+
# under concurrency, so the race can't occur. This mirrors what already
|
|
61
|
+
# happens for free in CI-style setups that force `config.eager_load = true`
|
|
62
|
+
# in the test environment -- local runs that leave eager loading off are
|
|
63
|
+
# exactly where this hang has been observed.
|
|
64
|
+
def eager_load_app!
|
|
65
|
+
return unless E2E.config.eager_load_app
|
|
66
|
+
return unless defined?(::Rails) && ::Rails.respond_to?(:application) && ::Rails.application
|
|
67
|
+
return if ::Rails.application.config.eager_load
|
|
68
|
+
|
|
69
|
+
::Rails.application.eager_load!
|
|
70
|
+
end
|
|
71
|
+
|
|
46
72
|
# rackup 2.x (the version paired with Rack 3) exposes Rackup::Handler.
|
|
47
73
|
# Older stacks that pin Rack 2.x (e.g. Rails 7.0/7.1 via this gem's own
|
|
48
74
|
# Appraisal matrix) resolve `rackup` down to its 1.x line, which has no
|
data/lib/e2e/version.rb
CHANGED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "fileutils"
|
|
4
|
+
require "pathname"
|
|
5
|
+
|
|
6
|
+
module E2E
|
|
7
|
+
# Ensures ViteRuby test assets are built before the e2e suite runs.
|
|
8
|
+
#
|
|
9
|
+
# ViteRuby::Builder skips compile when the watched-files digest is unchanged,
|
|
10
|
+
# so calling this on every suite start is cheap when assets are fresh.
|
|
11
|
+
#
|
|
12
|
+
# A flock serializes builders across processes (e.g. accidental parallel e2e).
|
|
13
|
+
module ViteAssets
|
|
14
|
+
LOCK_NAME = "e2e-vite-test-build.lock"
|
|
15
|
+
SKIP_ENV = "SKIP_VITE_TEST_BUILD"
|
|
16
|
+
|
|
17
|
+
class << self
|
|
18
|
+
def ensure_built!
|
|
19
|
+
return if ENV[SKIP_ENV] == "1"
|
|
20
|
+
return if done?
|
|
21
|
+
|
|
22
|
+
mode = normalize_mode(E2E.config.ensure_vite_assets)
|
|
23
|
+
return mark_done! if mode == :skip
|
|
24
|
+
|
|
25
|
+
with_lock do
|
|
26
|
+
return if done?
|
|
27
|
+
|
|
28
|
+
case mode
|
|
29
|
+
when :auto
|
|
30
|
+
ensure_auto!
|
|
31
|
+
when :build
|
|
32
|
+
ensure_required!
|
|
33
|
+
when :warn
|
|
34
|
+
ensure_warn!
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
mark_done!
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def reset!
|
|
42
|
+
@done = false
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def project_root
|
|
46
|
+
if defined?(Rails) && Rails.respond_to?(:root) && Rails.root
|
|
47
|
+
Pathname(Rails.root)
|
|
48
|
+
else
|
|
49
|
+
Pathname.pwd
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
private
|
|
54
|
+
|
|
55
|
+
def done?
|
|
56
|
+
@done
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def mark_done!
|
|
60
|
+
@done = true
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def normalize_mode(value)
|
|
64
|
+
case value
|
|
65
|
+
when :auto, :build, :warn, :skip then value
|
|
66
|
+
when true then :build
|
|
67
|
+
when false, nil then :skip
|
|
68
|
+
else
|
|
69
|
+
raise E2E::Error, "Unknown ensure_vite_assets=#{value.inspect} (expected :auto, :build, :warn, :skip)"
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def vite_ruby_loaded?
|
|
74
|
+
defined?(ViteRuby)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def ensure_auto!
|
|
78
|
+
return unless vite_ruby_loaded?
|
|
79
|
+
|
|
80
|
+
build_or_raise!
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def ensure_required!
|
|
84
|
+
unless vite_ruby_loaded?
|
|
85
|
+
raise E2E::Error, <<~MSG.chomp
|
|
86
|
+
ViteRuby is not loaded, but E2E.config.ensure_vite_assets = :build.
|
|
87
|
+
Add vite_rails / vite_ruby, or set ensure_vite_assets to :skip / :auto.
|
|
88
|
+
MSG
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
build_or_raise!
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def ensure_warn!
|
|
95
|
+
return warn_missing_vite_ruby unless vite_ruby_loaded?
|
|
96
|
+
|
|
97
|
+
return if ViteRuby.commands.build
|
|
98
|
+
|
|
99
|
+
warn <<~MSG
|
|
100
|
+
[E2E] Vite test asset build failed.
|
|
101
|
+
Run: bin/vite build --mode=test
|
|
102
|
+
Or set #{SKIP_ENV}=1 / E2E.config.ensure_vite_assets = :skip
|
|
103
|
+
MSG
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def warn_missing_vite_ruby
|
|
107
|
+
warn "[E2E] ensure_vite_assets=:warn but ViteRuby is not loaded; skipping."
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def build_or_raise!
|
|
111
|
+
return if ViteRuby.commands.build
|
|
112
|
+
|
|
113
|
+
raise E2E::Error, <<~MSG.chomp
|
|
114
|
+
Vite test asset build failed.
|
|
115
|
+
Run: bin/vite build --mode=test
|
|
116
|
+
Or set #{SKIP_ENV}=1 to skip (not recommended for Inertia/Vite apps).
|
|
117
|
+
MSG
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def with_lock
|
|
121
|
+
lock_path = project_root.join("tmp", LOCK_NAME)
|
|
122
|
+
FileUtils.mkdir_p(lock_path.dirname)
|
|
123
|
+
|
|
124
|
+
File.open(lock_path, File::RDWR | File::CREAT, 0o644) do |lock|
|
|
125
|
+
lock.flock(File::LOCK_EX)
|
|
126
|
+
yield
|
|
127
|
+
ensure
|
|
128
|
+
lock.flock(File::LOCK_UN)
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
data/lib/e2e.rb
CHANGED
|
@@ -7,6 +7,7 @@ require_relative "e2e/session"
|
|
|
7
7
|
require_relative "e2e/dsl"
|
|
8
8
|
require_relative "e2e/element"
|
|
9
9
|
require_relative "e2e/rails"
|
|
10
|
+
require_relative "e2e/vite_assets"
|
|
10
11
|
require_relative "e2e/drivers/playwright"
|
|
11
12
|
|
|
12
13
|
module E2E
|
|
@@ -67,7 +68,7 @@ module E2E
|
|
|
67
68
|
}.freeze
|
|
68
69
|
|
|
69
70
|
attr_accessor :driver, :headless, :app, :browser_type, :wait_timeout, :flash_selectors,
|
|
70
|
-
:navigation_timeout, :navigation_wait_until
|
|
71
|
+
:navigation_timeout, :navigation_wait_until, :ensure_vite_assets, :eager_load_app
|
|
71
72
|
|
|
72
73
|
def initialize
|
|
73
74
|
@driver = :playwright
|
|
@@ -80,6 +81,11 @@ module E2E
|
|
|
80
81
|
@navigation_wait_until = "domcontentloaded"
|
|
81
82
|
@navigation_timeout = 30
|
|
82
83
|
@flash_selectors = DEFAULT_FLASH_SELECTORS.dup
|
|
84
|
+
# :auto builds when ViteRuby is loaded; :build requires it; :warn / :skip
|
|
85
|
+
@ensure_vite_assets = :auto
|
|
86
|
+
# See Server#eager_load_app! for why this defaults on. Set to false only
|
|
87
|
+
# if eager loading the host app is itself broken or unacceptably slow.
|
|
88
|
+
@eager_load_app = true
|
|
83
89
|
end
|
|
84
90
|
end
|
|
85
91
|
end
|
|
@@ -68,6 +68,9 @@ module E2e
|
|
|
68
68
|
E2E.configure do |config|
|
|
69
69
|
config.app = Rails.application
|
|
70
70
|
config.headless = ENV.fetch("HEADLESS", "true") == "true"
|
|
71
|
+
# :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
|
|
72
|
+
# Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
|
|
73
|
+
config.ensure_vite_assets = :auto
|
|
71
74
|
end
|
|
72
75
|
|
|
73
76
|
# If you want to use transactional tests (faster), enable shared connection:
|
|
@@ -89,6 +92,9 @@ module E2e
|
|
|
89
92
|
E2E.configure do |config|
|
|
90
93
|
config.app = Rails.application
|
|
91
94
|
config.headless = ENV.fetch("HEADLESS", "true") == "true"
|
|
95
|
+
# :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
|
|
96
|
+
# Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
|
|
97
|
+
config.ensure_vite_assets = :auto
|
|
92
98
|
end
|
|
93
99
|
|
|
94
100
|
# If you want to use transactional tests (faster), enable shared connection:
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: e2e
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexey Poimtsev
|
|
@@ -258,6 +258,7 @@ files:
|
|
|
258
258
|
- lib/e2e/server.rb
|
|
259
259
|
- lib/e2e/session.rb
|
|
260
260
|
- lib/e2e/version.rb
|
|
261
|
+
- lib/e2e/vite_assets.rb
|
|
261
262
|
- lib/generators/e2e/install_generator.rb
|
|
262
263
|
- lib/generators/e2e/templates/minitest_test.rb.erb
|
|
263
264
|
- lib/generators/e2e/templates/rspec_test.rb.erb
|
|
@@ -285,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
285
286
|
- !ruby/object:Gem::Version
|
|
286
287
|
version: '0'
|
|
287
288
|
requirements: []
|
|
288
|
-
rubygems_version: 4.0.
|
|
289
|
+
rubygems_version: 4.0.19
|
|
289
290
|
specification_version: 4
|
|
290
291
|
summary: Unified E2E testing framework for Ruby.
|
|
291
292
|
test_files: []
|