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