stimulus_table_filter 0.1.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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +16 -0
  3. data/Gemfile +17 -0
  4. data/Gemfile.lock +299 -0
  5. data/README.md +526 -0
  6. data/app/assets/javascripts/stimulus_table_filter/filter_list.js +17 -0
  7. data/app/assets/javascripts/stimulus_table_filter/page_navigator.js +25 -0
  8. data/app/assets/javascripts/stimulus_table_filter/paginator.js +29 -0
  9. data/app/assets/javascripts/stimulus_table_filter/row_matcher.js +36 -0
  10. data/app/assets/javascripts/stimulus_table_filter/row_sorter.js +33 -0
  11. data/app/assets/javascripts/stimulus_table_filter/row_stats.js +9 -0
  12. data/app/assets/javascripts/stimulus_table_filter/table_filter.js +75 -0
  13. data/app/assets/javascripts/stimulus_table_filter/table_filter_controller.js +234 -0
  14. data/app/assets/javascripts/stimulus_table_filter/table_filter_view.js +149 -0
  15. data/app/assets/javascripts/stimulus_table_filter/url_state.js +51 -0
  16. data/app/assets/stylesheets/stimulus_table_filter/table_filter.css +8 -0
  17. data/config/importmap.rb +2 -0
  18. data/eslint.config.js +18 -0
  19. data/lib/spec/shared_examples/table_filter_footer.rb +6 -0
  20. data/lib/spec/shared_examples/table_filter_rows.rb +13 -0
  21. data/lib/spec/shared_examples/table_filter_view.rb +87 -0
  22. data/lib/stimulus_table_filter/engine.rb +23 -0
  23. data/lib/stimulus_table_filter/error.rb +5 -0
  24. data/lib/stimulus_table_filter/rspec/helpers.rb +18 -0
  25. data/lib/stimulus_table_filter/rspec/matchers.rb +43 -0
  26. data/lib/stimulus_table_filter/rspec.rb +19 -0
  27. data/lib/stimulus_table_filter/version.rb +5 -0
  28. data/lib/stimulus_table_filter/view_helper/container.rb +28 -0
  29. data/lib/stimulus_table_filter/view_helper/controls.rb +42 -0
  30. data/lib/stimulus_table_filter/view_helper/rows.rb +32 -0
  31. data/lib/stimulus_table_filter/view_helper/sort.rb +31 -0
  32. data/lib/stimulus_table_filter/view_helper/stats.rb +47 -0
  33. data/lib/stimulus_table_filter/view_helper.rb +16 -0
  34. data/lib/stimulus_table_filter.rb +6 -0
  35. data/package-lock.json +1112 -0
  36. data/package.json +14 -0
  37. data/stimulus_table_filter.gemspec +29 -0
  38. data/test/javascript/controller.test.mjs +10 -0
  39. data/test/javascript/controller_stub.mjs +1 -0
  40. data/test/javascript/paginator.test.mjs +35 -0
  41. data/test/javascript/register.mjs +20 -0
  42. data/test/javascript/row_matcher.test.mjs +71 -0
  43. data/test/javascript/row_sorter.test.mjs +43 -0
  44. data/test/javascript/row_stats_and_url_state.test.mjs +69 -0
  45. data/test/javascript/stimulus_stub.mjs +6 -0
  46. metadata +107 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fd1d293fa4373f23cb2eb542feb797e20b73b994564af5422e1bb69cfb370af4
4
+ data.tar.gz: 80a795894d382356b03d83ab003727c4dd5e786f81ca140106b33417ecabeab6
5
+ SHA512:
6
+ metadata.gz: d27af095bbddab3441ed10e65215c2e92c2bdbb2d10111ac4ffee02adc7fc9ee0898087019329b43e2b649d8f5119be42639ab2ba150a427ab5be5e9ce0b17f6
7
+ data.tar.gz: 8d52a264133b2aed8e2737392b6ba0a86443f35b95be1a0942204e04297cb86b05e5e6100ffcac25a42e81c5a7f122c0632b5cbe8bd8bbdfb7f7d85ad2c577f6
data/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
+
6
+ ## [0.1.0] - 2026-08-25
7
+
8
+ Initial release.
9
+
10
+ - Stimulus controller (`table-filter`): instant search, filter dimensions, multi-column
11
+ sort, pagination, group headers, URL state and live footer stats
12
+ - Rails Engine with view helpers for the whole widget; opt-in CSS
13
+ - RSpec support: shared examples plus `have_data` / `have_data_target` matchers
14
+ - CI: RuboCop, RSpec and JavaScript tests across Ruby 3.2–3.4 and Rails 7.0–8.1
15
+
16
+ [0.1.0]: https://github.com/icoluccio/stimulus-table-filter/releases/tag/v0.1.0
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ group :development, :test do
8
+ gem 'appraisal', '~> 2.5'
9
+ gem 'flay', '~> 2.13'
10
+ gem 'overcommit', '~> 0.72'
11
+ gem 'actionview', '>= 7.0', '< 9'
12
+ gem 'rake', '~> 13.4'
13
+ gem 'rspec', '~> 3.13'
14
+ gem 'rubocop', '~> 1.88'
15
+ gem 'rubocop-rspec', '~> 3.10'
16
+ gem 'simplecov', '~> 1.0'
17
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,299 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ stimulus_table_filter (0.1.0)
5
+ railties (>= 7.0, < 9)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionpack (8.1.3.1)
11
+ actionview (= 8.1.3.1)
12
+ activesupport (= 8.1.3.1)
13
+ nokogiri (>= 1.8.5)
14
+ rack (>= 2.2.4)
15
+ rack-session (>= 1.0.1)
16
+ rack-test (>= 0.6.3)
17
+ rails-dom-testing (~> 2.2)
18
+ rails-html-sanitizer (~> 1.6)
19
+ useragent (~> 0.16)
20
+ actionview (8.1.3.1)
21
+ activesupport (= 8.1.3.1)
22
+ builder (~> 3.1)
23
+ erubi (~> 1.11)
24
+ rails-dom-testing (~> 2.2)
25
+ rails-html-sanitizer (~> 1.6)
26
+ activesupport (8.1.3.1)
27
+ base64
28
+ bigdecimal
29
+ concurrent-ruby (~> 1.0, >= 1.3.1)
30
+ connection_pool (>= 2.2.5)
31
+ drb
32
+ i18n (>= 1.6, < 2)
33
+ json
34
+ logger (>= 1.4.2)
35
+ minitest (>= 5.1)
36
+ securerandom (>= 0.3)
37
+ tzinfo (~> 2.0, >= 2.0.5)
38
+ uri (>= 0.13.1)
39
+ appraisal (2.5.0)
40
+ bundler
41
+ rake
42
+ thor (>= 0.14.0)
43
+ ast (2.4.3)
44
+ base64 (0.3.0)
45
+ bigdecimal (4.1.2)
46
+ builder (3.3.0)
47
+ childprocess (5.1.0)
48
+ logger (~> 1.5)
49
+ concurrent-ruby (1.3.8)
50
+ connection_pool (3.0.2)
51
+ crass (1.0.7)
52
+ diff-lcs (1.6.2)
53
+ drb (2.2.3)
54
+ erb (6.0.7)
55
+ erubi (1.13.1)
56
+ flay (2.14.4)
57
+ erubi (~> 1.10)
58
+ path_expander (~> 2.0)
59
+ prism (~> 1.7)
60
+ sexp_processor (~> 4.0)
61
+ i18n (1.15.2)
62
+ concurrent-ruby (~> 1.0)
63
+ iniparse (1.5.0)
64
+ io-console (0.9.2)
65
+ irb (1.18.0)
66
+ pp (>= 0.6.0)
67
+ prism (>= 1.3.0)
68
+ rdoc (>= 4.0.0)
69
+ reline (>= 0.4.2)
70
+ json (2.21.2)
71
+ language_server-protocol (3.17.0.6)
72
+ lint_roller (1.1.0)
73
+ logger (1.7.0)
74
+ loofah (2.25.2)
75
+ crass (~> 1.0.2)
76
+ nokogiri (>= 1.12.0)
77
+ minitest (6.0.6)
78
+ drb (~> 2.0)
79
+ prism (~> 1.5)
80
+ nokogiri (1.19.4-aarch64-linux-gnu)
81
+ racc (~> 1.4)
82
+ nokogiri (1.19.4-aarch64-linux-musl)
83
+ racc (~> 1.4)
84
+ nokogiri (1.19.4-arm-linux-gnu)
85
+ racc (~> 1.4)
86
+ nokogiri (1.19.4-arm-linux-musl)
87
+ racc (~> 1.4)
88
+ nokogiri (1.19.4-arm64-darwin)
89
+ racc (~> 1.4)
90
+ nokogiri (1.19.4-x86_64-darwin)
91
+ racc (~> 1.4)
92
+ nokogiri (1.19.4-x86_64-linux-gnu)
93
+ racc (~> 1.4)
94
+ nokogiri (1.19.4-x86_64-linux-musl)
95
+ racc (~> 1.4)
96
+ overcommit (0.72.0)
97
+ childprocess (>= 0.6.3, < 6)
98
+ iniparse (~> 1.4)
99
+ rexml (>= 3.4.2)
100
+ parallel (2.1.0)
101
+ parser (3.3.12.0)
102
+ ast (~> 2.4.1)
103
+ racc
104
+ path_expander (2.0.1)
105
+ pp (0.6.4)
106
+ prettyprint
107
+ prettyprint (0.2.0)
108
+ prism (1.9.0)
109
+ racc (1.8.1)
110
+ rack (3.2.7)
111
+ rack-session (2.1.2)
112
+ base64 (>= 0.1.0)
113
+ rack (>= 3.0.0)
114
+ rack-test (2.2.0)
115
+ rack (>= 1.3)
116
+ rackup (2.3.1)
117
+ rack (>= 3)
118
+ rails-dom-testing (2.3.0)
119
+ activesupport (>= 5.0.0)
120
+ minitest
121
+ nokogiri (>= 1.6)
122
+ rails-html-sanitizer (1.7.1)
123
+ loofah (~> 2.25, >= 2.25.2)
124
+ 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)
125
+ railties (8.1.3.1)
126
+ actionpack (= 8.1.3.1)
127
+ activesupport (= 8.1.3.1)
128
+ irb (~> 1.13)
129
+ rackup (>= 1.0.0)
130
+ rake (>= 12.2)
131
+ thor (~> 1.0, >= 1.2.2)
132
+ tsort (>= 0.2)
133
+ zeitwerk (~> 2.6)
134
+ rainbow (3.1.1)
135
+ rake (13.4.2)
136
+ rbs (4.2.0)
137
+ logger
138
+ prism (>= 1.6.0)
139
+ tsort
140
+ rdoc (8.0.0)
141
+ erb
142
+ prism (>= 1.6.0)
143
+ rbs (>= 4.0.0)
144
+ tsort
145
+ regexp_parser (2.12.0)
146
+ reline (0.7.0)
147
+ io-console (~> 0.5)
148
+ rexml (3.4.4)
149
+ rspec (3.13.2)
150
+ rspec-core (~> 3.13.0)
151
+ rspec-expectations (~> 3.13.0)
152
+ rspec-mocks (~> 3.13.0)
153
+ rspec-core (3.13.6)
154
+ rspec-support (~> 3.13.0)
155
+ rspec-expectations (3.13.5)
156
+ diff-lcs (>= 1.2.0, < 2.0)
157
+ rspec-support (~> 3.13.0)
158
+ rspec-mocks (3.13.8)
159
+ diff-lcs (>= 1.2.0, < 2.0)
160
+ rspec-support (~> 3.13.0)
161
+ rspec-support (3.13.7)
162
+ rubocop (1.90.0)
163
+ json (>= 2.3)
164
+ language_server-protocol (~> 3.17.0.2)
165
+ lint_roller (~> 1.1.0)
166
+ parallel (>= 1.10)
167
+ parser (>= 3.3.0.2)
168
+ rainbow (>= 2.2.2, < 4.0)
169
+ regexp_parser (>= 2.9.3, < 3.0)
170
+ rubocop-ast (>= 1.49.0, < 2.0)
171
+ ruby-progressbar (~> 1.7)
172
+ unicode-display_width (>= 2.4.0, < 4.0)
173
+ rubocop-ast (1.50.0)
174
+ parser (>= 3.3.7.2)
175
+ prism (~> 1.7)
176
+ rubocop-rspec (3.10.2)
177
+ lint_roller (~> 1.1)
178
+ regexp_parser (>= 2.0)
179
+ rubocop (~> 1.86, >= 1.86.2)
180
+ ruby-progressbar (1.13.0)
181
+ securerandom (0.4.1)
182
+ sexp_processor (4.17.5)
183
+ simplecov (1.1.1)
184
+ thor (1.5.0)
185
+ tsort (0.2.0)
186
+ tzinfo (2.0.6)
187
+ concurrent-ruby (~> 1.0)
188
+ unicode-display_width (3.2.0)
189
+ unicode-emoji (~> 4.1)
190
+ unicode-emoji (4.2.0)
191
+ uri (1.1.1)
192
+ useragent (0.16.11)
193
+ zeitwerk (2.8.3)
194
+
195
+ PLATFORMS
196
+ aarch64-linux-gnu
197
+ aarch64-linux-musl
198
+ arm-linux-gnu
199
+ arm-linux-musl
200
+ arm64-darwin
201
+ x86_64-darwin
202
+ x86_64-linux-gnu
203
+ x86_64-linux-musl
204
+
205
+ DEPENDENCIES
206
+ actionview (>= 7.0, < 9)
207
+ appraisal (~> 2.5)
208
+ flay (~> 2.13)
209
+ overcommit (~> 0.72)
210
+ rake (~> 13.4)
211
+ rspec (~> 3.13)
212
+ rubocop (~> 1.88)
213
+ rubocop-rspec (~> 3.10)
214
+ simplecov (~> 1.0)
215
+ stimulus_table_filter!
216
+
217
+ CHECKSUMS
218
+ actionpack (8.1.3.1) sha256=974cb7154548e81f470b1b0f247b99cb38e87825899dca58610596e2817723d0
219
+ actionview (8.1.3.1) sha256=2da68b8414c47b43bfbed1ce69c5afe1c04f78c267aacb5660a4cab5ca12cfb6
220
+ activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376
221
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
222
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
223
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
224
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
225
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
226
+ bundler (4.0.19) sha256=b48056e4c77fb3853cc47775b5447ede44aaa4f53c32f168014ab4fe86587d47
227
+ childprocess (5.1.0) sha256=9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec
228
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
229
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
230
+ crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
231
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
232
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
233
+ erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
234
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
235
+ flay (2.14.4) sha256=a62d96a51d1da185aa41ba95b696966df9f7d1d91a457709277f24515895de77
236
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
237
+ iniparse (1.5.0) sha256=36a165e98d8a250b7631c4a7f9afba32af78f089970cd6446a39771189c761f1
238
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
239
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
240
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
241
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
242
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
243
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
244
+ loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
245
+ minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
246
+ nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f
247
+ nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af
248
+ nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca
249
+ nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb
250
+ nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527
251
+ nokogiri (1.19.4-x86_64-darwin) sha256=7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551
252
+ nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
253
+ nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
254
+ overcommit (0.72.0) sha256=1cb8e39639e2f203ced5a303c2ac1e24ce49824ead52fa3204f954f936a63a3e
255
+ parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
256
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
257
+ path_expander (2.0.1) sha256=2de201164bff4719cc4d0b3767286e9977cc832a59c4d70abab571ec86cb41e4
258
+ pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
259
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
260
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
261
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
262
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
263
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
264
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
265
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
266
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
267
+ rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
268
+ railties (8.1.3.1) sha256=2388a232579a00cefea4487de66c8553c3408c1300abdc6cf1799d86ffb04487
269
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
270
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
271
+ rbs (4.2.0) sha256=51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674
272
+ rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
273
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
274
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
275
+ rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
276
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
277
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
278
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
279
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
280
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
281
+ rubocop (1.90.0) sha256=9eb4c065b5c5154e4ef554c547972f3905a9eb6b53e657e580b6796b54bf8242
282
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
283
+ rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
284
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
285
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
286
+ sexp_processor (4.17.5) sha256=ae2b48ba98353d5d465ce8759836b7a05f2e12c5879fcd14d7815b026de32f0e
287
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
288
+ stimulus_table_filter (0.1.0)
289
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
290
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
291
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
292
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
293
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
294
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
295
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
296
+ zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
297
+
298
+ BUNDLED WITH
299
+ 4.0.19