morty 0.0.1 → 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 (134) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +12 -0
  3. data/.github/workflows/ci.yml +107 -0
  4. data/.gitignore +17 -3
  5. data/.rubocop.yml +20 -0
  6. data/Appraisals +24 -0
  7. data/Gemfile +28 -1
  8. data/LICENSE +21 -0
  9. data/README.md +37 -7
  10. data/Rakefile +37 -0
  11. data/app/models/morty/account.rb +37 -0
  12. data/app/models/morty/account_type.rb +7 -0
  13. data/app/models/morty/activity.rb +147 -0
  14. data/app/models/morty/activity_type.rb +7 -0
  15. data/app/models/morty/application_record.rb +6 -0
  16. data/app/models/morty/entry.rb +24 -0
  17. data/app/models/morty/entry_type.rb +23 -0
  18. data/app/models/morty/ledger.rb +8 -0
  19. data/config/routes.rb +2 -0
  20. data/config.ru +7 -0
  21. data/cucumber.yml +2 -0
  22. data/db/migrate/20260224063053_create_morty_schema.rb +17 -0
  23. data/db/seeds.rb +18 -0
  24. data/db/sql/create_morty_schema.sql +479 -0
  25. data/features/accountant.feature +47 -0
  26. data/features/adjustment.feature +79 -0
  27. data/features/cancel.feature +130 -0
  28. data/features/daily.feature +42 -0
  29. data/features/default.feature +33 -0
  30. data/features/ledger.feature +57 -0
  31. data/features/retroactive.feature +92 -0
  32. data/features/return.feature +112 -0
  33. data/features/reversal.feature +57 -0
  34. data/features/simulation.feature +128 -0
  35. data/features/support/accountants/adjusting_accountant.rb +34 -0
  36. data/features/support/accountants/daily_accountant.rb +13 -0
  37. data/features/support/accountants/default_accountant.rb +2 -0
  38. data/features/support/accountants/defaulting_accountant.rb +32 -0
  39. data/features/support/accountants/multiple_ledgers_accountant.rb +51 -0
  40. data/features/support/accountants/simulating_accountant.rb +36 -0
  41. data/features/support/accountants/sourceless_accountant.rb +2 -0
  42. data/features/support/accountants/waterfalling_accountant.rb +15 -0
  43. data/features/support/env.rb +17 -0
  44. data/features/waterfall.feature +34 -0
  45. data/gemfiles/rails_7.0.gemfile +30 -0
  46. data/gemfiles/rails_7.0.gemfile.lock +494 -0
  47. data/gemfiles/rails_7.1.gemfile +30 -0
  48. data/gemfiles/rails_7.1.gemfile.lock +543 -0
  49. data/gemfiles/rails_7.2.gemfile +30 -0
  50. data/gemfiles/rails_7.2.gemfile.lock +539 -0
  51. data/gemfiles/rails_8.0.gemfile +30 -0
  52. data/gemfiles/rails_8.0.gemfile.lock +536 -0
  53. data/gemfiles/rails_8.1.gemfile +30 -0
  54. data/gemfiles/rails_8.1.gemfile.lock +538 -0
  55. data/lib/morty/accountant.rb +332 -0
  56. data/lib/morty/adjustment.rb +64 -0
  57. data/lib/morty/book.rb +54 -0
  58. data/lib/morty/context/activity.rb +52 -0
  59. data/lib/morty/context/daily.rb +23 -0
  60. data/lib/morty/context/simulation.rb +26 -0
  61. data/lib/morty/cucumber/helpers.rb +27 -0
  62. data/lib/morty/cucumber/steps.rb +191 -0
  63. data/lib/morty/diff.rb +71 -0
  64. data/lib/morty/dsl.rb +86 -0
  65. data/lib/morty/engine.rb +21 -0
  66. data/lib/morty/error.rb +3 -0
  67. data/lib/morty/event.rb +27 -0
  68. data/lib/morty/list/activity.rb +57 -0
  69. data/lib/morty/rate.rb +59 -0
  70. data/lib/morty/schedule.rb +36 -0
  71. data/lib/morty/seed.rb +60 -0
  72. data/lib/morty/source.rb +19 -0
  73. data/lib/morty/tasks/morty_tasks.rake +4 -0
  74. data/lib/morty/version.rb +1 -1
  75. data/lib/morty.rb +27 -1
  76. data/morty.gemspec +22 -19
  77. data/spec/dummy/Rakefile +6 -0
  78. data/spec/dummy/app/assets/images/.keep +0 -0
  79. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  80. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  81. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  82. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  83. data/spec/dummy/app/jobs/application_job.rb +7 -0
  84. data/spec/dummy/app/models/application_record.rb +3 -0
  85. data/spec/dummy/app/models/concerns/.keep +0 -0
  86. data/spec/dummy/app/views/layouts/application.html.erb +28 -0
  87. data/spec/dummy/app/views/pwa/manifest.json.erb +22 -0
  88. data/spec/dummy/app/views/pwa/service-worker.js +26 -0
  89. data/spec/dummy/bin/ci +6 -0
  90. data/spec/dummy/bin/dev +2 -0
  91. data/spec/dummy/bin/rails +4 -0
  92. data/spec/dummy/bin/rake +4 -0
  93. data/spec/dummy/bin/setup +35 -0
  94. data/spec/dummy/config/application.rb +48 -0
  95. data/spec/dummy/config/boot.rb +5 -0
  96. data/spec/dummy/config/cable.yml +10 -0
  97. data/spec/dummy/config/ci.rb +15 -0
  98. data/spec/dummy/config/database.yml +15 -0
  99. data/spec/dummy/config/environment.rb +5 -0
  100. data/spec/dummy/config/environments/development.rb +47 -0
  101. data/spec/dummy/config/environments/test.rb +53 -0
  102. data/spec/dummy/config/initializers/content_security_policy.rb +29 -0
  103. data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  104. data/spec/dummy/config/initializers/inflections.rb +16 -0
  105. data/spec/dummy/config/locales/en.yml +31 -0
  106. data/spec/dummy/config/puma.rb +39 -0
  107. data/spec/dummy/config/routes.rb +3 -0
  108. data/spec/dummy/config/storage.yml +27 -0
  109. data/spec/dummy/config.ru +6 -0
  110. data/spec/dummy/db/seeds.rb +52 -0
  111. data/spec/dummy/log/.keep +0 -0
  112. data/spec/dummy/public/400.html +135 -0
  113. data/spec/dummy/public/404.html +135 -0
  114. data/spec/dummy/public/406-unsupported-browser.html +135 -0
  115. data/spec/dummy/public/422.html +135 -0
  116. data/spec/dummy/public/500.html +135 -0
  117. data/spec/dummy/public/icon.png +0 -0
  118. data/spec/dummy/public/icon.svg +3 -0
  119. data/spec/lib/accountant_spec.rb +236 -0
  120. data/spec/lib/book_spec.rb +91 -0
  121. data/spec/lib/diff_spec.rb +102 -0
  122. data/spec/lib/event_spec.rb +53 -0
  123. data/spec/lib/list/activity_spec.rb +117 -0
  124. data/spec/lib/schedule_spec.rb +106 -0
  125. data/spec/lib/source_spec.rb +31 -0
  126. data/spec/models/account_spec.rb +48 -0
  127. data/spec/models/activity_spec.rb +139 -0
  128. data/spec/models/entry_spec.rb +41 -0
  129. data/spec/models/entry_type_spec.rb +43 -0
  130. data/spec/rate_spec.rb +83 -0
  131. data/spec/spec_helper.rb +36 -0
  132. data/spec/support/test_helpers.rb +25 -0
  133. metadata +193 -16
  134. data/LICENSE.txt +0 -22
@@ -0,0 +1,539 @@
1
+ GIT
2
+ remote: https://github.com/companygardener/lookup_by.git
3
+ revision: bd97afca01f94760e0727c08c761aa618b62a87d
4
+ specs:
5
+ lookup_by (0.12.0)
6
+ activerecord (>= 7.0.0)
7
+ mutex_m
8
+
9
+ PATH
10
+ remote: ..
11
+ specs:
12
+ morty (0.1.0)
13
+ activerecord (>= 7.0)
14
+ colorize
15
+ lookup_by
16
+ railties (>= 7.0)
17
+
18
+ GEM
19
+ remote: https://rubygems.org/
20
+ specs:
21
+ actioncable (7.2.3)
22
+ actionpack (= 7.2.3)
23
+ activesupport (= 7.2.3)
24
+ nio4r (~> 2.0)
25
+ websocket-driver (>= 0.6.1)
26
+ zeitwerk (~> 2.6)
27
+ actionmailbox (7.2.3)
28
+ actionpack (= 7.2.3)
29
+ activejob (= 7.2.3)
30
+ activerecord (= 7.2.3)
31
+ activestorage (= 7.2.3)
32
+ activesupport (= 7.2.3)
33
+ mail (>= 2.8.0)
34
+ actionmailer (7.2.3)
35
+ actionpack (= 7.2.3)
36
+ actionview (= 7.2.3)
37
+ activejob (= 7.2.3)
38
+ activesupport (= 7.2.3)
39
+ mail (>= 2.8.0)
40
+ rails-dom-testing (~> 2.2)
41
+ actionpack (7.2.3)
42
+ actionview (= 7.2.3)
43
+ activesupport (= 7.2.3)
44
+ cgi
45
+ nokogiri (>= 1.8.5)
46
+ racc
47
+ rack (>= 2.2.4, < 3.3)
48
+ rack-session (>= 1.0.1)
49
+ rack-test (>= 0.6.3)
50
+ rails-dom-testing (~> 2.2)
51
+ rails-html-sanitizer (~> 1.6)
52
+ useragent (~> 0.16)
53
+ actiontext (7.2.3)
54
+ actionpack (= 7.2.3)
55
+ activerecord (= 7.2.3)
56
+ activestorage (= 7.2.3)
57
+ activesupport (= 7.2.3)
58
+ globalid (>= 0.6.0)
59
+ nokogiri (>= 1.8.5)
60
+ actionview (7.2.3)
61
+ activesupport (= 7.2.3)
62
+ builder (~> 3.1)
63
+ cgi
64
+ erubi (~> 1.11)
65
+ rails-dom-testing (~> 2.2)
66
+ rails-html-sanitizer (~> 1.6)
67
+ activejob (7.2.3)
68
+ activesupport (= 7.2.3)
69
+ globalid (>= 0.3.6)
70
+ activemodel (7.2.3)
71
+ activesupport (= 7.2.3)
72
+ activerecord (7.2.3)
73
+ activemodel (= 7.2.3)
74
+ activesupport (= 7.2.3)
75
+ timeout (>= 0.4.0)
76
+ activestorage (7.2.3)
77
+ actionpack (= 7.2.3)
78
+ activejob (= 7.2.3)
79
+ activerecord (= 7.2.3)
80
+ activesupport (= 7.2.3)
81
+ marcel (~> 1.0)
82
+ activesupport (7.2.3)
83
+ base64
84
+ benchmark (>= 0.3)
85
+ bigdecimal
86
+ concurrent-ruby (~> 1.0, >= 1.3.1)
87
+ connection_pool (>= 2.2.5)
88
+ drb
89
+ i18n (>= 1.6, < 2)
90
+ logger (>= 1.4.2)
91
+ minitest (>= 5.1)
92
+ securerandom (>= 0.3)
93
+ tzinfo (~> 2.0, >= 2.0.5)
94
+ appraisal (2.5.0)
95
+ bundler
96
+ rake
97
+ thor (>= 0.14.0)
98
+ ast (2.4.3)
99
+ base64 (0.3.0)
100
+ benchmark (0.5.0)
101
+ bigdecimal (4.1.1)
102
+ builder (3.3.0)
103
+ cgi (0.5.1)
104
+ chronic (0.10.2)
105
+ colorize (1.1.0)
106
+ concurrent-ruby (1.3.6)
107
+ connection_pool (3.0.2)
108
+ crass (1.0.6)
109
+ cucumber (10.2.0)
110
+ base64 (~> 0.2)
111
+ builder (~> 3.2)
112
+ cucumber-ci-environment (> 9, < 12)
113
+ cucumber-core (> 15, < 17)
114
+ cucumber-cucumber-expressions (> 17, < 20)
115
+ cucumber-html-formatter (> 21, < 23)
116
+ diff-lcs (~> 1.5)
117
+ logger (~> 1.6)
118
+ mini_mime (~> 1.1)
119
+ multi_test (~> 1.1)
120
+ sys-uname (~> 1.3)
121
+ cucumber-ci-environment (11.0.0)
122
+ cucumber-core (16.2.0)
123
+ cucumber-gherkin (> 36, < 40)
124
+ cucumber-messages (> 31, < 33)
125
+ cucumber-tag-expressions (> 6, < 9)
126
+ cucumber-cucumber-expressions (19.0.0)
127
+ bigdecimal
128
+ cucumber-gherkin (39.0.0)
129
+ cucumber-messages (>= 31, < 33)
130
+ cucumber-html-formatter (22.3.0)
131
+ cucumber-messages (> 23, < 33)
132
+ cucumber-messages (32.2.0)
133
+ cucumber-tag-expressions (8.1.0)
134
+ date (3.5.1)
135
+ diff-lcs (1.6.2)
136
+ docile (1.4.1)
137
+ drb (2.2.3)
138
+ erb (6.0.2)
139
+ erubi (1.13.1)
140
+ factory_bot (6.5.6)
141
+ activesupport (>= 6.1.0)
142
+ factory_bot_rails (6.5.1)
143
+ factory_bot (~> 6.5)
144
+ railties (>= 6.1.0)
145
+ ffi (1.17.4-aarch64-linux-gnu)
146
+ ffi (1.17.4-aarch64-linux-musl)
147
+ ffi (1.17.4-arm-linux-gnu)
148
+ ffi (1.17.4-arm-linux-musl)
149
+ ffi (1.17.4-arm64-darwin)
150
+ ffi (1.17.4-x86_64-darwin)
151
+ ffi (1.17.4-x86_64-linux-gnu)
152
+ ffi (1.17.4-x86_64-linux-musl)
153
+ globalid (1.3.0)
154
+ activesupport (>= 6.1)
155
+ i18n (1.14.8)
156
+ concurrent-ruby (~> 1.0)
157
+ io-console (0.8.2)
158
+ irb (1.17.0)
159
+ pp (>= 0.6.0)
160
+ prism (>= 1.3.0)
161
+ rdoc (>= 4.0.0)
162
+ reline (>= 0.4.2)
163
+ json (2.19.3)
164
+ language_server-protocol (3.17.0.5)
165
+ lint_roller (1.1.0)
166
+ logger (1.7.0)
167
+ loofah (2.25.1)
168
+ crass (~> 1.0.2)
169
+ nokogiri (>= 1.12.0)
170
+ mail (2.9.0)
171
+ logger
172
+ mini_mime (>= 0.1.1)
173
+ net-imap
174
+ net-pop
175
+ net-smtp
176
+ marcel (1.1.0)
177
+ memoist3 (1.0.0)
178
+ mini_mime (1.1.5)
179
+ minitest (6.0.3)
180
+ drb (~> 2.0)
181
+ prism (~> 1.5)
182
+ multi_test (1.1.0)
183
+ mutex_m (0.3.0)
184
+ net-imap (0.6.3)
185
+ date
186
+ net-protocol
187
+ net-pop (0.1.2)
188
+ net-protocol
189
+ net-protocol (0.2.2)
190
+ timeout
191
+ net-smtp (0.5.1)
192
+ net-protocol
193
+ nio4r (2.7.5)
194
+ nokogiri (1.19.2-aarch64-linux-gnu)
195
+ racc (~> 1.4)
196
+ nokogiri (1.19.2-aarch64-linux-musl)
197
+ racc (~> 1.4)
198
+ nokogiri (1.19.2-arm-linux-gnu)
199
+ racc (~> 1.4)
200
+ nokogiri (1.19.2-arm-linux-musl)
201
+ racc (~> 1.4)
202
+ nokogiri (1.19.2-arm64-darwin)
203
+ racc (~> 1.4)
204
+ nokogiri (1.19.2-x86_64-darwin)
205
+ racc (~> 1.4)
206
+ nokogiri (1.19.2-x86_64-linux-gnu)
207
+ racc (~> 1.4)
208
+ nokogiri (1.19.2-x86_64-linux-musl)
209
+ racc (~> 1.4)
210
+ parallel (1.28.0)
211
+ parser (3.3.11.1)
212
+ ast (~> 2.4.1)
213
+ racc
214
+ pg (1.6.3)
215
+ pg (1.6.3-aarch64-linux)
216
+ pg (1.6.3-aarch64-linux-musl)
217
+ pg (1.6.3-arm64-darwin)
218
+ pg (1.6.3-x86_64-darwin)
219
+ pg (1.6.3-x86_64-linux)
220
+ pg (1.6.3-x86_64-linux-musl)
221
+ pp (0.6.3)
222
+ prettyprint
223
+ prettyprint (0.2.0)
224
+ prism (1.9.0)
225
+ propshaft (1.3.1)
226
+ actionpack (>= 7.0.0)
227
+ activesupport (>= 7.0.0)
228
+ rack
229
+ psych (5.3.1)
230
+ date
231
+ stringio
232
+ puma (8.0.0)
233
+ nio4r (~> 2.0)
234
+ racc (1.8.1)
235
+ rack (3.2.6)
236
+ rack-session (2.1.2)
237
+ base64 (>= 0.1.0)
238
+ rack (>= 3.0.0)
239
+ rack-test (2.2.0)
240
+ rack (>= 1.3)
241
+ rackup (2.3.1)
242
+ rack (>= 3)
243
+ rails (7.2.3)
244
+ actioncable (= 7.2.3)
245
+ actionmailbox (= 7.2.3)
246
+ actionmailer (= 7.2.3)
247
+ actionpack (= 7.2.3)
248
+ actiontext (= 7.2.3)
249
+ actionview (= 7.2.3)
250
+ activejob (= 7.2.3)
251
+ activemodel (= 7.2.3)
252
+ activerecord (= 7.2.3)
253
+ activestorage (= 7.2.3)
254
+ activesupport (= 7.2.3)
255
+ bundler (>= 1.15.0)
256
+ railties (= 7.2.3)
257
+ rails-dom-testing (2.3.0)
258
+ activesupport (>= 5.0.0)
259
+ minitest
260
+ nokogiri (>= 1.6)
261
+ rails-html-sanitizer (1.7.0)
262
+ loofah (~> 2.25)
263
+ 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)
264
+ railties (7.2.3)
265
+ actionpack (= 7.2.3)
266
+ activesupport (= 7.2.3)
267
+ cgi
268
+ irb (~> 1.13)
269
+ rackup (>= 1.0.0)
270
+ rake (>= 12.2)
271
+ thor (~> 1.0, >= 1.2.2)
272
+ tsort (>= 0.2)
273
+ zeitwerk (~> 2.6)
274
+ rainbow (3.1.1)
275
+ rake (13.3.1)
276
+ rdoc (7.2.0)
277
+ erb
278
+ psych (>= 4.0.0)
279
+ tsort
280
+ regexp_parser (2.12.0)
281
+ reline (0.6.3)
282
+ io-console (~> 0.5)
283
+ rspec-core (3.13.6)
284
+ rspec-support (~> 3.13.0)
285
+ rspec-expectations (3.13.5)
286
+ diff-lcs (>= 1.2.0, < 2.0)
287
+ rspec-support (~> 3.13.0)
288
+ rspec-its (2.0.0)
289
+ rspec-core (>= 3.13.0)
290
+ rspec-expectations (>= 3.13.0)
291
+ rspec-mocks (3.13.8)
292
+ diff-lcs (>= 1.2.0, < 2.0)
293
+ rspec-support (~> 3.13.0)
294
+ rspec-rails (8.0.4)
295
+ actionpack (>= 7.2)
296
+ activesupport (>= 7.2)
297
+ railties (>= 7.2)
298
+ rspec-core (>= 3.13.0, < 5.0.0)
299
+ rspec-expectations (>= 3.13.0, < 5.0.0)
300
+ rspec-mocks (>= 3.13.0, < 5.0.0)
301
+ rspec-support (>= 3.13.0, < 5.0.0)
302
+ rspec-support (3.13.7)
303
+ rspec_junit_formatter (0.6.0)
304
+ rspec-core (>= 2, < 4, != 2.12.0)
305
+ rubocop (1.86.0)
306
+ json (~> 2.3)
307
+ language_server-protocol (~> 3.17.0.2)
308
+ lint_roller (~> 1.1.0)
309
+ parallel (~> 1.10)
310
+ parser (>= 3.3.0.2)
311
+ rainbow (>= 2.2.2, < 4.0)
312
+ regexp_parser (>= 2.9.3, < 3.0)
313
+ rubocop-ast (>= 1.49.0, < 2.0)
314
+ ruby-progressbar (~> 1.7)
315
+ unicode-display_width (>= 2.4.0, < 4.0)
316
+ rubocop-ast (1.49.1)
317
+ parser (>= 3.3.7.2)
318
+ prism (~> 1.7)
319
+ rubocop-performance (1.26.1)
320
+ lint_roller (~> 1.1)
321
+ rubocop (>= 1.75.0, < 2.0)
322
+ rubocop-ast (>= 1.47.1, < 2.0)
323
+ rubocop-rails (2.34.3)
324
+ activesupport (>= 4.2.0)
325
+ lint_roller (~> 1.1)
326
+ rack (>= 1.1)
327
+ rubocop (>= 1.75.0, < 2.0)
328
+ rubocop-ast (>= 1.44.0, < 2.0)
329
+ rubocop-rails-omakase (1.1.0)
330
+ rubocop (>= 1.72)
331
+ rubocop-performance (>= 1.24)
332
+ rubocop-rails (>= 2.30)
333
+ ruby-progressbar (1.13.0)
334
+ securerandom (0.4.1)
335
+ shoulda-matchers (7.0.1)
336
+ activesupport (>= 7.1)
337
+ simplecov (0.22.0)
338
+ docile (~> 1.1)
339
+ simplecov-html (~> 0.11)
340
+ simplecov_json_formatter (~> 0.1)
341
+ simplecov-html (0.13.2)
342
+ simplecov_json_formatter (0.1.4)
343
+ stringio (3.2.0)
344
+ sys-uname (1.5.1)
345
+ ffi (~> 1.1)
346
+ memoist3 (~> 1.0.0)
347
+ thor (1.5.0)
348
+ timecop (0.9.10)
349
+ timeout (0.6.1)
350
+ tsort (0.2.0)
351
+ tzinfo (2.0.6)
352
+ concurrent-ruby (~> 1.0)
353
+ unicode-display_width (3.2.0)
354
+ unicode-emoji (~> 4.1)
355
+ unicode-emoji (4.2.0)
356
+ useragent (0.16.11)
357
+ websocket-driver (0.8.0)
358
+ base64
359
+ websocket-extensions (>= 0.1.0)
360
+ websocket-extensions (0.1.5)
361
+ zeitwerk (2.7.5)
362
+
363
+ PLATFORMS
364
+ aarch64-linux
365
+ aarch64-linux-gnu
366
+ aarch64-linux-musl
367
+ arm-linux-gnu
368
+ arm-linux-musl
369
+ arm64-darwin
370
+ x86_64-darwin
371
+ x86_64-linux
372
+ x86_64-linux-gnu
373
+ x86_64-linux-musl
374
+
375
+ DEPENDENCIES
376
+ activerecord (~> 7.2.0)
377
+ appraisal (~> 2.5.0)
378
+ bundler (~> 4.0)
379
+ chronic
380
+ cucumber
381
+ factory_bot_rails
382
+ lookup_by!
383
+ morty!
384
+ pg
385
+ propshaft
386
+ puma
387
+ rails
388
+ railties (~> 7.2.0)
389
+ rake (> 10.0)
390
+ rspec-its
391
+ rspec-rails
392
+ rspec_junit_formatter
393
+ rubocop-rails-omakase
394
+ shoulda-matchers
395
+ simplecov
396
+ timecop
397
+
398
+ CHECKSUMS
399
+ actioncable (7.2.3) sha256=e15d17b245f1dfe7cafdda4a0c6f7ba8ebaab1af33884415e09cfef4e93ad4f9
400
+ actionmailbox (7.2.3) sha256=16bbf0a7c330f2d08d52d5e3c1b03813a8ef60bfb0a48e89c0bf92b069cb4d5e
401
+ actionmailer (7.2.3) sha256=68d646b852a6d2b25d8834fc796c3dc10f76a4c7fd77b3251c3f4dd832ec8ab8
402
+ actionpack (7.2.3) sha256=2a14e4c64695777041ea7aaf498462284cadd561f009654393daf9b2de7207cf
403
+ actiontext (7.2.3) sha256=a6ffd9efb7b7b4e26029e5c88e8a2ea9aae8d6cefdfed960be139772f1a94037
404
+ actionview (7.2.3) sha256=1f427d7a41b43804d7250911535740451b9c32b6416239d87e6dab9d5948ecb2
405
+ activejob (7.2.3) sha256=e44964472de267b69e93752f088193c8ad2e56d2ef451d059dd7a53761e5ffb0
406
+ activemodel (7.2.3) sha256=bbaf66aeb93212e98ebf6ab900f8290f9a831645f0b235427f5acf0e074739db
407
+ activerecord (7.2.3) sha256=6facb7478ceb5f6baa9f0647daa50b4a3a43934997900f0011e6c667ff41a0d7
408
+ activestorage (7.2.3) sha256=4c1422bbfaa60c89e7b43cc38ade7bd3b8dc81024c48a21c1ac56814cf34ca2f
409
+ activesupport (7.2.3) sha256=5675c9770dac93e371412684249f9dc3c8cec104efd0624362a520ae685c7b10
410
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
411
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
412
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
413
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
414
+ bigdecimal (4.1.1) sha256=1c09efab961da45203c8316b0cdaec0ff391dfadb952dd459584b63ebf8054ca
415
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
416
+ cgi (0.5.1) sha256=e93fcafc69b8a934fe1e6146121fa35430efa8b4a4047c4893764067036f18e9
417
+ chronic (0.10.2) sha256=766f2fcce6ac3cc152249ed0f2b827770d3e517e2e87c5fba7ed74f4889d2dc3
418
+ colorize (1.1.0) sha256=30b5237f0603f6662ab8d1fc2bd4a96142b806c6415d79e45ef5fdc6a0cfc837
419
+ concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
420
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
421
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
422
+ cucumber (10.2.0) sha256=fdedbd31ecf40858b60f04853f2aa15c44f5c30bbac29c6a227fa1e7005a8158
423
+ cucumber-ci-environment (11.0.0) sha256=0df79a9e1d0b015b3d9def680f989200d96fef206f4d19ccf86a338c4f71d1e2
424
+ cucumber-core (16.2.0) sha256=592b58a95cf42feef8e5a349f68e363784ba3b6568ffbcf6776e38e136cf970b
425
+ cucumber-cucumber-expressions (19.0.0) sha256=33208ff204732ac9bed42b46993a0a243054f71ece08579d57e53df6a1c9d93a
426
+ cucumber-gherkin (39.0.0) sha256=46f51d87e910f41c3c5cee3b500028ca2b2e7149a413a8280b9a58cee2593e55
427
+ cucumber-html-formatter (22.3.0) sha256=f9768ed05588dbd73a5f3824c2cc648bd86b00206e6972d743af8051281d0729
428
+ cucumber-messages (32.2.0) sha256=42c4056cccf7dd9d07bf678a28b1233efbdaf35789b76b65e071be6b7b00731a
429
+ cucumber-tag-expressions (8.1.0) sha256=9bd8c4b6654f8e5bf2a9c99329b6f32136a75e50cd39d4cfb3927d0fa9f52e21
430
+ date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
431
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
432
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
433
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
434
+ erb (6.0.2) sha256=9fe6264d44f79422c87490a1558479bd0e7dad4dd0e317656e67ea3077b5242b
435
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
436
+ factory_bot (6.5.6) sha256=12beb373214dccc086a7a63763d6718c49769d5606f0501e0a4442676917e077
437
+ factory_bot_rails (6.5.1) sha256=d3cc4851eae4dea8a665ec4a4516895045e710554d2b5ac9e68b94d351bc6d68
438
+ ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
439
+ ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39
440
+ ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564
441
+ ffi (1.17.4-arm-linux-musl) sha256=9d4838ded0465bef6e2426935f6bcc93134b6616785a84ffd2a3d82bc3cf6f95
442
+ ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b
443
+ ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496
444
+ ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d
445
+ ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e
446
+ globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
447
+ i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
448
+ io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
449
+ irb (1.17.0) sha256=168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae
450
+ json (2.19.3) sha256=289b0bb53052a1fa8c34ab33cc750b659ba14a5c45f3fcf4b18762dc67c78646
451
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
452
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
453
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
454
+ loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
455
+ lookup_by (0.12.0)
456
+ mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941
457
+ marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
458
+ memoist3 (1.0.0) sha256=686e42402cf150a362050c23143dc57b0ef88f8c344943ff8b7845792b50d56f
459
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
460
+ minitest (6.0.3) sha256=88ac8a1de36c00692420e7cb3cc11a0773bbcb126aee1c249f320160a7d11411
461
+ morty (0.1.0)
462
+ multi_test (1.1.0) sha256=e9e550cdd863fb72becfe344aefdcd4cbd26ebf307847f4a6c039a4082324d10
463
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
464
+ net-imap (0.6.3) sha256=9bab75f876596d09ee7bf911a291da478e0cd6badc54dfb82874855ccc82f2ad
465
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
466
+ net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
467
+ net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
468
+ nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
469
+ nokogiri (1.19.2-aarch64-linux-gnu) sha256=c34d5c8208025587554608e98fd88ab125b29c80f9352b821964e9a5d5cfbd19
470
+ nokogiri (1.19.2-aarch64-linux-musl) sha256=7f6b4b0202d507326841a4f790294bf75098aef50c7173443812e3ac5cb06515
471
+ nokogiri (1.19.2-arm-linux-gnu) sha256=b7fa1139016f3dc850bda1260988f0d749934a939d04ef2da13bec060d7d5081
472
+ nokogiri (1.19.2-arm-linux-musl) sha256=61114d44f6742ff72194a1b3020967201e2eb982814778d130f6471c11f9828c
473
+ nokogiri (1.19.2-arm64-darwin) sha256=58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205
474
+ nokogiri (1.19.2-x86_64-darwin) sha256=7d9af11fda72dfaa2961d8c4d5380ca0b51bc389dc5f8d4b859b9644f195e7a4
475
+ nokogiri (1.19.2-x86_64-linux-gnu) sha256=fa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f
476
+ nokogiri (1.19.2-x86_64-linux-musl) sha256=93128448e61a9383a30baef041bf1f5817e22f297a1d400521e90294445069a8
477
+ parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970
478
+ parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
479
+ pg (1.6.3) sha256=1388d0563e13d2758c1089e35e973a3249e955c659592d10e5b77c468f628a99
480
+ pg (1.6.3-aarch64-linux) sha256=0698ad563e02383c27510b76bf7d4cd2de19cd1d16a5013f375dd473e4be72ea
481
+ pg (1.6.3-aarch64-linux-musl) sha256=06a75f4ea04b05140146f2a10550b8e0d9f006a79cdaf8b5b130cde40e3ecc2c
482
+ pg (1.6.3-arm64-darwin) sha256=7240330b572e6355d7c75a7de535edb5dfcbd6295d9c7777df4d9dddfb8c0e5f
483
+ pg (1.6.3-x86_64-darwin) sha256=ee2e04a17c0627225054ffeb43e31a95be9d7e93abda2737ea3ce4a62f2729d6
484
+ pg (1.6.3-x86_64-linux) sha256=5d9e188c8f7a0295d162b7b88a768d8452a899977d44f3274d1946d67920ae8d
485
+ pg (1.6.3-x86_64-linux-musl) sha256=9c9c90d98c72f78eb04c0f55e9618fe55d1512128e411035fe229ff427864009
486
+ pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
487
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
488
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
489
+ propshaft (1.3.1) sha256=9acc664ef67e819ffa3d95bd7ad4c3623ea799110c5f4dee67fa7e583e74c392
490
+ psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
491
+ puma (8.0.0) sha256=1681050b8b60fab1d3033255ab58b6aec64cd063e43fc6f8204bcb8bf9364b88
492
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
493
+ rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
494
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
495
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
496
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
497
+ rails (7.2.3) sha256=9a9812eb131189676e64665f6883fc9c4051f412cc87ef9e3fa242a09c609bff
498
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
499
+ rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
500
+ railties (7.2.3) sha256=6eb010a6bfe6f223e783f739ddfcbdb5b88b1f3a87f7739f0a0685e466250422
501
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
502
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
503
+ rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
504
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
505
+ reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
506
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
507
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
508
+ rspec-its (2.0.0) sha256=a88e8bc38149f2835e93533591ec4f5c829aacbfd41269a2e6f9f5b82f5260df
509
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
510
+ rspec-rails (8.0.4) sha256=06235692fc0892683d3d34977e081db867434b3a24ae0dd0c6f3516bad4e22df
511
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
512
+ rspec_junit_formatter (0.6.0) sha256=40dde674e6ae4e6cc0ff560da25497677e34fefd2338cc467a8972f602b62b15
513
+ rubocop (1.86.0) sha256=4ff1186fe16ebe9baff5e7aad66bb0ad4cabf5cdcd419f773146dbba2565d186
514
+ rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
515
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
516
+ rubocop-rails (2.34.3) sha256=10d37989024865ecda8199f311f3faca990143fbac967de943f88aca11eb9ad2
517
+ rubocop-rails-omakase (1.1.0) sha256=2af73ac8ee5852de2919abbd2618af9c15c19b512c4cfc1f9a5d3b6ef009109d
518
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
519
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
520
+ shoulda-matchers (7.0.1) sha256=b4bfd8744c10e0a36c8ac1a687f921ee7e25ed529e50488d61b79a8688749c77
521
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
522
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
523
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
524
+ stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
525
+ sys-uname (1.5.1) sha256=784d7e6491b0393c25cbbe5ac38324ac7be9fda083a6094832648af669386d7b
526
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
527
+ timecop (0.9.10) sha256=12ba45ce57cdcf6b1043cb6cdffa6381fd89ce10d369c28a7f6f04dc1b0cd8eb
528
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
529
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
530
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
531
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
532
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
533
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
534
+ websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
535
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
536
+ zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
537
+
538
+ BUNDLED WITH
539
+ 4.0.6
@@ -0,0 +1,30 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails"
6
+ gem "lookup_by", github: "companygardener/lookup_by"
7
+ gem "rubocop-rails-omakase", require: false
8
+ gem "appraisal", "~> 2.5.0"
9
+ gem "activerecord", "~> 8.0.0"
10
+ gem "railties", "~> 8.0.0"
11
+
12
+ group :development, :test do
13
+ gem "rspec-rails"
14
+ gem "pg"
15
+ gem "puma"
16
+ gem "propshaft"
17
+ end
18
+
19
+ group :test do
20
+ gem "rspec-its"
21
+ gem "factory_bot_rails"
22
+ gem "shoulda-matchers"
23
+ gem "cucumber"
24
+ gem "simplecov", require: false
25
+ gem "rspec_junit_formatter"
26
+ gem "timecop"
27
+ gem "chronic"
28
+ end
29
+
30
+ gemspec path: "../"