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