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