merit 4.0.3 → 5.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1163ea7681b5daca51eb89a7785bc648fe86ddbefff1a05cdc765c20c9b91973
4
- data.tar.gz: 1329168f700f69f1d0eff4ca196ed511302b7839745eb8ed58bb5bb277cd5d51
3
+ metadata.gz: 259aa7d63434281cf0ca0b7c838afa4f7fa5b28cb6c63aefb6b198dec051a6b7
4
+ data.tar.gz: 458e3d5059fd13b24ed0a4962860777e953d83186a1c5efd68faa75902edd42d
5
5
  SHA512:
6
- metadata.gz: 2e112a21e6ada4964c86c7253c72bc4235f4ab478a876badfa27cf1d60d2cea3ec297f234219100bc9049e50ea859860a7d6c3f504dcca86b8424da3aa28e007
7
- data.tar.gz: 39f8af732714702142e9b0f279c63b7aa528113fd81f39df99f94ae09ca0320e9a2f52b230dd919bedc9e42f5947aed9ad656df89c84c9bc09a56cdacd7e8438
6
+ metadata.gz: a43d436317948b2f17799520c6413e2f6dee9090e8e1c1d44e42a4b7f7cbb3bb569e2f4bf53ad9e07025c5855223890a62ba67e39d98f8f741cc6db23a1ffcdb
7
+ data.tar.gz: 2b06438e1bfbe5ab14d298ef6bfdd1402d1610d89c972a1a43c00dba6ae89b00fc79f6d5d92c562621f2d6dfceeef285af869b7c8d10a5f11116320c64b527e9
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise 'rails_7_2' do
2
+ gem 'rails', '~> 7.2'
3
+ end
4
+
5
+ appraise 'rails_8_0' do
6
+ gem 'rails', '~> 8.0'
7
+ end
data/Gemfile CHANGED
@@ -2,10 +2,15 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'rails', "~> #{ENV.fetch('RAILS_VERSION', 6.0)}"
5
+ # Ruby 3.4?
6
+ gem 'base64'
7
+ gem 'mutex_m'
8
+ gem 'observer'
9
+
10
+ gem "rails"
6
11
 
7
12
  group :development, :test do
8
- gem 'sqlite3', '~> 1.4'
13
+ gem 'sqlite3', '> 1.4'
9
14
  end
10
15
 
11
16
  gem 'coveralls', '~> 0.8.23', require: false
data/NEWS.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  User-visible changes worth mentioning.
4
4
 
5
+ ## 5.0.0
6
+
7
+ - Drop end-of-life'd rails versions: 5.2, 6.x, <7.2
8
+ - Drop end-of-life’d ruby versions 3.0, 3.1
9
+ - Test with current versions of Rails: 7.2, 8.0, and ruby >=3.2
10
+ - Fix warning: add observer as runtime dependency
11
+ - Mark 3 tests as pending to the open bug on deleted models
12
+ - Convert project to GitHub Actions
13
+
5
14
  ## 4.0.3
6
15
 
7
16
  - Add webrick as a development dependency
data/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
  Merit adds reputation behavior to Rails apps in the form of Badges, Points,
4
4
  and Rankings.
5
5
 
6
- [![Build Status](https://travis-ci.org/merit-gem/merit.svg?branch=master)](http://travis-ci.org/merit-gem/merit)
7
6
  [![Coverage Status](https://coveralls.io/repos/github/merit-gem/merit/badge.svg?branch=master)](https://coveralls.io/github/merit-gem/merit?branch=master)
8
7
  [![Code Climate](https://codeclimate.com/github/tute/merit/badges/gpa.svg)](https://codeclimate.com/github/tute/merit)
9
8
 
data/Rakefile CHANGED
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  begin
3
2
  require 'bundler/setup'
4
3
  rescue LoadError
@@ -7,8 +6,10 @@ end
7
6
 
8
7
  require 'rake/testtask'
9
8
 
10
- desc 'Default: run tests for all ORMs.'
11
- task default: [:setup, :test, :api_test]
9
+ desc 'Default: run tests for all rails\' versions.'
10
+ if !ENV["APPRAISAL_INITIALIZED"]
11
+ task default: [:setup, :appraisal]
12
+ end
12
13
 
13
14
  task :setup do
14
15
  system "cd test/dummy && rake db:migrate && rake db:test:prepare"
@@ -0,0 +1,11 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 7.2"
6
+
7
+ group :development, :test do
8
+ gem "sqlite3"
9
+ end
10
+
11
+ gemspec path: "../"
@@ -0,0 +1,372 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ merit (4.0.3)
5
+ ambry (~> 1.0.0)
6
+ observer
7
+ zeitwerk
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (7.2.2.1)
13
+ actionpack (= 7.2.2.1)
14
+ activesupport (= 7.2.2.1)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ zeitwerk (~> 2.6)
18
+ actionmailbox (7.2.2.1)
19
+ actionpack (= 7.2.2.1)
20
+ activejob (= 7.2.2.1)
21
+ activerecord (= 7.2.2.1)
22
+ activestorage (= 7.2.2.1)
23
+ activesupport (= 7.2.2.1)
24
+ mail (>= 2.8.0)
25
+ actionmailer (7.2.2.1)
26
+ actionpack (= 7.2.2.1)
27
+ actionview (= 7.2.2.1)
28
+ activejob (= 7.2.2.1)
29
+ activesupport (= 7.2.2.1)
30
+ mail (>= 2.8.0)
31
+ rails-dom-testing (~> 2.2)
32
+ actionpack (7.2.2.1)
33
+ actionview (= 7.2.2.1)
34
+ activesupport (= 7.2.2.1)
35
+ nokogiri (>= 1.8.5)
36
+ racc
37
+ rack (>= 2.2.4, < 3.2)
38
+ rack-session (>= 1.0.1)
39
+ rack-test (>= 0.6.3)
40
+ rails-dom-testing (~> 2.2)
41
+ rails-html-sanitizer (~> 1.6)
42
+ useragent (~> 0.16)
43
+ actiontext (7.2.2.1)
44
+ actionpack (= 7.2.2.1)
45
+ activerecord (= 7.2.2.1)
46
+ activestorage (= 7.2.2.1)
47
+ activesupport (= 7.2.2.1)
48
+ globalid (>= 0.6.0)
49
+ nokogiri (>= 1.8.5)
50
+ actionview (7.2.2.1)
51
+ activesupport (= 7.2.2.1)
52
+ builder (~> 3.1)
53
+ erubi (~> 1.11)
54
+ rails-dom-testing (~> 2.2)
55
+ rails-html-sanitizer (~> 1.6)
56
+ activejob (7.2.2.1)
57
+ activesupport (= 7.2.2.1)
58
+ globalid (>= 0.3.6)
59
+ activemodel (7.2.2.1)
60
+ activesupport (= 7.2.2.1)
61
+ activerecord (7.2.2.1)
62
+ activemodel (= 7.2.2.1)
63
+ activesupport (= 7.2.2.1)
64
+ timeout (>= 0.4.0)
65
+ activestorage (7.2.2.1)
66
+ actionpack (= 7.2.2.1)
67
+ activejob (= 7.2.2.1)
68
+ activerecord (= 7.2.2.1)
69
+ activesupport (= 7.2.2.1)
70
+ marcel (~> 1.0)
71
+ activesupport (7.2.2.1)
72
+ base64
73
+ benchmark (>= 0.3)
74
+ bigdecimal
75
+ concurrent-ruby (~> 1.0, >= 1.3.1)
76
+ connection_pool (>= 2.2.5)
77
+ drb
78
+ i18n (>= 1.6, < 2)
79
+ logger (>= 1.4.2)
80
+ minitest (>= 5.1)
81
+ securerandom (>= 0.3)
82
+ tzinfo (~> 2.0, >= 2.0.5)
83
+ addressable (2.8.7)
84
+ public_suffix (>= 2.0.2, < 7.0)
85
+ ambry (1.0.0)
86
+ appraisal (2.5.0)
87
+ bundler
88
+ rake
89
+ thor (>= 0.14.0)
90
+ ast (2.4.3)
91
+ base64 (0.3.0)
92
+ benchmark (0.4.1)
93
+ bigdecimal (3.2.2)
94
+ builder (3.3.0)
95
+ capybara (3.40.0)
96
+ addressable
97
+ matrix
98
+ mini_mime (>= 0.1.3)
99
+ nokogiri (~> 1.11)
100
+ rack (>= 1.6.0)
101
+ rack-test (>= 0.6.3)
102
+ regexp_parser (>= 1.5, < 3.0)
103
+ xpath (~> 3.2)
104
+ concurrent-ruby (1.3.5)
105
+ connection_pool (2.5.3)
106
+ crass (1.0.6)
107
+ date (3.4.1)
108
+ docile (1.4.1)
109
+ drb (2.2.3)
110
+ erb (5.0.1)
111
+ erubi (1.13.1)
112
+ globalid (1.2.1)
113
+ activesupport (>= 6.1)
114
+ i18n (1.14.7)
115
+ concurrent-ruby (~> 1.0)
116
+ io-console (0.8.0)
117
+ irb (1.15.2)
118
+ pp (>= 0.6.0)
119
+ rdoc (>= 4.0.0)
120
+ reline (>= 0.4.2)
121
+ json (2.12.2)
122
+ language_server-protocol (3.17.0.5)
123
+ lint_roller (1.1.0)
124
+ logger (1.7.0)
125
+ loofah (2.24.1)
126
+ crass (~> 1.0.2)
127
+ nokogiri (>= 1.12.0)
128
+ mail (2.8.1)
129
+ mini_mime (>= 0.1.1)
130
+ net-imap
131
+ net-pop
132
+ net-smtp
133
+ marcel (1.0.4)
134
+ matrix (0.4.3)
135
+ mini_mime (1.1.5)
136
+ mini_portile2 (2.8.9)
137
+ minitest (5.25.5)
138
+ minitest-rails (7.1.1)
139
+ minitest (~> 5.20)
140
+ railties (>= 7.1.0, < 8.0.0)
141
+ mocha (2.7.1)
142
+ ruby2_keywords (>= 0.0.5)
143
+ net-imap (0.5.9)
144
+ date
145
+ net-protocol
146
+ net-pop (0.1.2)
147
+ net-protocol
148
+ net-protocol (0.2.2)
149
+ timeout
150
+ net-smtp (0.5.1)
151
+ net-protocol
152
+ nio4r (2.7.4)
153
+ nokogiri (1.18.8-arm64-darwin)
154
+ racc (~> 1.4)
155
+ nokogiri (1.18.8-x86_64-linux-gnu)
156
+ racc (~> 1.4)
157
+ observer (0.1.2)
158
+ parallel (1.27.0)
159
+ parser (3.3.8.0)
160
+ ast (~> 2.4.1)
161
+ racc
162
+ pp (0.6.2)
163
+ prettyprint
164
+ prettyprint (0.2.0)
165
+ prism (1.4.0)
166
+ psych (5.2.6)
167
+ date
168
+ stringio
169
+ public_suffix (6.0.2)
170
+ racc (1.8.1)
171
+ rack (3.1.16)
172
+ rack-session (2.1.1)
173
+ base64 (>= 0.1.0)
174
+ rack (>= 3.0.0)
175
+ rack-test (2.2.0)
176
+ rack (>= 1.3)
177
+ rackup (2.2.1)
178
+ rack (>= 3)
179
+ rails (7.2.2.1)
180
+ actioncable (= 7.2.2.1)
181
+ actionmailbox (= 7.2.2.1)
182
+ actionmailer (= 7.2.2.1)
183
+ actionpack (= 7.2.2.1)
184
+ actiontext (= 7.2.2.1)
185
+ actionview (= 7.2.2.1)
186
+ activejob (= 7.2.2.1)
187
+ activemodel (= 7.2.2.1)
188
+ activerecord (= 7.2.2.1)
189
+ activestorage (= 7.2.2.1)
190
+ activesupport (= 7.2.2.1)
191
+ bundler (>= 1.15.0)
192
+ railties (= 7.2.2.1)
193
+ rails-dom-testing (2.3.0)
194
+ activesupport (>= 5.0.0)
195
+ minitest
196
+ nokogiri (>= 1.6)
197
+ rails-html-sanitizer (1.6.2)
198
+ loofah (~> 2.21)
199
+ 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)
200
+ railties (7.2.2.1)
201
+ actionpack (= 7.2.2.1)
202
+ activesupport (= 7.2.2.1)
203
+ irb (~> 1.13)
204
+ rackup (>= 1.0.0)
205
+ rake (>= 12.2)
206
+ thor (~> 1.0, >= 1.2.2)
207
+ zeitwerk (~> 2.6)
208
+ rainbow (3.1.1)
209
+ rake (13.3.0)
210
+ rdoc (6.14.1)
211
+ erb
212
+ psych (>= 4.0.0)
213
+ regexp_parser (2.10.0)
214
+ reline (0.6.1)
215
+ io-console (~> 0.5)
216
+ rubocop (1.77.0)
217
+ json (~> 2.3)
218
+ language_server-protocol (~> 3.17.0.2)
219
+ lint_roller (~> 1.1.0)
220
+ parallel (~> 1.10)
221
+ parser (>= 3.3.0.2)
222
+ rainbow (>= 2.2.2, < 4.0)
223
+ regexp_parser (>= 2.9.3, < 3.0)
224
+ rubocop-ast (>= 1.45.1, < 2.0)
225
+ ruby-progressbar (~> 1.7)
226
+ unicode-display_width (>= 2.4.0, < 4.0)
227
+ rubocop-ast (1.45.1)
228
+ parser (>= 3.3.7.2)
229
+ prism (~> 1.4)
230
+ ruby-progressbar (1.13.0)
231
+ ruby2_keywords (0.0.5)
232
+ securerandom (0.4.1)
233
+ simplecov (0.16.1)
234
+ docile (~> 1.1)
235
+ json (>= 1.8, < 3)
236
+ simplecov-html (~> 0.10.0)
237
+ simplecov-html (0.10.2)
238
+ sqlite3 (1.7.3)
239
+ mini_portile2 (~> 2.8.0)
240
+ stringio (3.1.7)
241
+ thor (1.3.2)
242
+ timeout (0.4.3)
243
+ tzinfo (2.0.6)
244
+ concurrent-ruby (~> 1.0)
245
+ unicode-display_width (3.1.4)
246
+ unicode-emoji (~> 4.0, >= 4.0.4)
247
+ unicode-emoji (4.0.4)
248
+ useragent (0.16.11)
249
+ webrick (1.9.1)
250
+ websocket-driver (0.8.0)
251
+ base64
252
+ websocket-extensions (>= 0.1.0)
253
+ websocket-extensions (0.1.5)
254
+ xpath (3.2.0)
255
+ nokogiri (~> 1.8)
256
+ zeitwerk (2.7.3)
257
+
258
+ PLATFORMS
259
+ arm64-darwin
260
+ x86_64-linux
261
+
262
+ DEPENDENCIES
263
+ appraisal
264
+ capybara
265
+ merit!
266
+ minitest-rails
267
+ mocha
268
+ rails (~> 7.2)
269
+ rubocop
270
+ simplecov
271
+ sqlite3
272
+ webrick
273
+
274
+ CHECKSUMS
275
+ actioncable (7.2.2.1) sha256=5b3b885075a80767d63cbf2b586cbf82466a241675b7985233f957abb01bffb4
276
+ actionmailbox (7.2.2.1) sha256=896a47c2520f4507c75dde67c6ea1f5eec3a041fe7bfbf3568c4e0149a080e25
277
+ actionmailer (7.2.2.1) sha256=b02ae523c32c8ad762d4db941e76f3c108c106030132247ee7a7b8c86bc7b21f
278
+ actionpack (7.2.2.1) sha256=17b2160a7bcbd5a569d06b1ae54a4bb5ccc7ba0815d73ff5768100a79dc1f734
279
+ actiontext (7.2.2.1) sha256=f369cee41a6674b697bf9257d917a3dce575a2c89935af437b432d6737a3f0d6
280
+ actionview (7.2.2.1) sha256=69fc880cf3d8b1baf21b048cf7bb68f1eef08760ff8104d7d60a6a1be8b359a5
281
+ activejob (7.2.2.1) sha256=f2f95a8573b394aa4f7c24843f0c4a6065c073a5c64d6f15ecd98d98c2c23e5b
282
+ activemodel (7.2.2.1) sha256=8398861f9ee2c4671a8357ab39e9b38a045fd656f6685a3dd5890c2419dbfdaf
283
+ activerecord (7.2.2.1) sha256=79a31f71c32d5138717c2104e0ff105f5d82922247c85bdca144f2720e67fab9
284
+ activestorage (7.2.2.1) sha256=b4ec35ff94d4d6656ee6952ce439c3f80e249552d49fd2d3996ee53880c5525f
285
+ activesupport (7.2.2.1) sha256=842bcbf8a92977f80fb4750661a237cf5dd4fdd442066b3c35e88afb488647f5
286
+ addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232
287
+ ambry (1.0.0) sha256=a09601ab1139f0cc886a5c5be2d52a423f2ba6ff1d78a4a5bb6f2a5c3c2d0145
288
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
289
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
290
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
291
+ benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce
292
+ bigdecimal (3.2.2) sha256=39085f76b495eb39a79ce07af716f3a6829bc35eb44f2195e2753749f2fa5adc
293
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
294
+ capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef
295
+ concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
296
+ connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b
297
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
298
+ date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f
299
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
300
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
301
+ erb (5.0.1) sha256=760439803b36cc93eca8a266aab614614e588024a89bc30a62e78d98ff452c23
302
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
303
+ globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9
304
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
305
+ io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2
306
+ irb (1.15.2) sha256=222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba
307
+ json (2.12.2) sha256=ba94a48ad265605c8fa9a50a5892f3ba6a02661aa010f638211f3cb36f44abf4
308
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
309
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
310
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
311
+ loofah (2.24.1) sha256=655a30842b70ec476410b347ab1cd2a5b92da46a19044357bbd9f401b009a337
312
+ mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad
313
+ marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4
314
+ matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b
315
+ merit (4.0.3)
316
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
317
+ mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
318
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
319
+ minitest-rails (7.1.1) sha256=538c2a67a7b51b4cdd17e100ad7904a51b4860453880b55be79a906ef97e495e
320
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
321
+ net-imap (0.5.9) sha256=d95905321e1bd9f294ffc7ff8697be218eee1ec96c8504c0960964d0a0be33fc
322
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
323
+ net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
324
+ net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
325
+ nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9
326
+ nokogiri (1.18.8-arm64-darwin) sha256=483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212
327
+ nokogiri (1.18.8-x86_64-linux-gnu) sha256=4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc
328
+ observer (0.1.2) sha256=d8a3107131ba661138d748e7be3dbafc0d82e732fffba9fccb3d7829880950ac
329
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
330
+ parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45
331
+ pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff
332
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
333
+ prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e
334
+ psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e
335
+ public_suffix (6.0.2) sha256=bfa7cd5108066f8c9602e0d6d4114999a5df5839a63149d3e8b0f9c1d3558394
336
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
337
+ rack (3.1.16) sha256=efb5606c351efc56b85b10c3493055d0d35209d23f44792ec4e1183eb0234635
338
+ rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
339
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
340
+ rackup (2.2.1) sha256=f737191fd5c5b348b7f0a4412a3b86383f88c43e13b8217b63d4c8d90b9e798d
341
+ rails (7.2.2.1) sha256=aedb1604b40f4e43b5e8066e5a1aa34dae02c33aa9669b21fd4497d0f8c9bb40
342
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
343
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
344
+ railties (7.2.2.1) sha256=e3f11bf116dd6d0d874522843ccc70ec0f89fbfed3e9c2ee48a4778cd042fe1f
345
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
346
+ rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493
347
+ rdoc (6.14.1) sha256=905efa796cd296ef252af4fb31fe41c073dee894de6aad715821f335c632516b
348
+ regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61
349
+ reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb
350
+ rubocop (1.77.0) sha256=1f360b4575ef7a124be27b0dfffa227a2b2d9420d22d4fd8bf179d702bcc88c0
351
+ rubocop-ast (1.45.1) sha256=94042e49adc17f187ba037b33f941ba7398fede77cdf4bffafba95190a473a3e
352
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
353
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
354
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
355
+ simplecov (0.16.1) sha256=8724f0911bbb2b7a3c11155e6d57987cad311f9e5ce7b305b1e2e67fdc73dee9
356
+ simplecov-html (0.10.2) sha256=f65306e2695913c007ddc8d31d6318f37ae074f2ee1cea1647b3bf4c94ca30d2
357
+ sqlite3 (1.7.3) sha256=fa77f63c709548f46d4e9b6bb45cda52aa3881aa12cc85991132758e8968701c
358
+ stringio (3.1.7) sha256=5b78b7cb242a315fb4fca61a8255d62ec438f58da2b90be66048546ade4507fa
359
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
360
+ timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e
361
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
362
+ unicode-display_width (3.1.4) sha256=8caf2af1c0f2f07ec89ef9e18c7d88c2790e217c482bfc78aaa65eadd5415ac1
363
+ unicode-emoji (4.0.4) sha256=2c2c4ef7f353e5809497126285a50b23056cc6e61b64433764a35eff6c36532a
364
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
365
+ webrick (1.9.1) sha256=b42d3c94f166f3fb73d87e9b359def9b5836c426fc8beacf38f2184a21b2a989
366
+ websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
367
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
368
+ xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e
369
+ zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85
370
+
371
+ BUNDLED WITH
372
+ 2.6.9
@@ -0,0 +1,11 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 8.0"
6
+
7
+ group :development, :test do
8
+ gem "sqlite3", "> 2.1"
9
+ end
10
+
11
+ gemspec path: "../"
@@ -0,0 +1,375 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ merit (4.0.3)
5
+ ambry (~> 1.0.0)
6
+ observer
7
+ zeitwerk
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (8.0.2)
13
+ actionpack (= 8.0.2)
14
+ activesupport (= 8.0.2)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ zeitwerk (~> 2.6)
18
+ actionmailbox (8.0.2)
19
+ actionpack (= 8.0.2)
20
+ activejob (= 8.0.2)
21
+ activerecord (= 8.0.2)
22
+ activestorage (= 8.0.2)
23
+ activesupport (= 8.0.2)
24
+ mail (>= 2.8.0)
25
+ actionmailer (8.0.2)
26
+ actionpack (= 8.0.2)
27
+ actionview (= 8.0.2)
28
+ activejob (= 8.0.2)
29
+ activesupport (= 8.0.2)
30
+ mail (>= 2.8.0)
31
+ rails-dom-testing (~> 2.2)
32
+ actionpack (8.0.2)
33
+ actionview (= 8.0.2)
34
+ activesupport (= 8.0.2)
35
+ nokogiri (>= 1.8.5)
36
+ rack (>= 2.2.4)
37
+ rack-session (>= 1.0.1)
38
+ rack-test (>= 0.6.3)
39
+ rails-dom-testing (~> 2.2)
40
+ rails-html-sanitizer (~> 1.6)
41
+ useragent (~> 0.16)
42
+ actiontext (8.0.2)
43
+ actionpack (= 8.0.2)
44
+ activerecord (= 8.0.2)
45
+ activestorage (= 8.0.2)
46
+ activesupport (= 8.0.2)
47
+ globalid (>= 0.6.0)
48
+ nokogiri (>= 1.8.5)
49
+ actionview (8.0.2)
50
+ activesupport (= 8.0.2)
51
+ builder (~> 3.1)
52
+ erubi (~> 1.11)
53
+ rails-dom-testing (~> 2.2)
54
+ rails-html-sanitizer (~> 1.6)
55
+ activejob (8.0.2)
56
+ activesupport (= 8.0.2)
57
+ globalid (>= 0.3.6)
58
+ activemodel (8.0.2)
59
+ activesupport (= 8.0.2)
60
+ activerecord (8.0.2)
61
+ activemodel (= 8.0.2)
62
+ activesupport (= 8.0.2)
63
+ timeout (>= 0.4.0)
64
+ activestorage (8.0.2)
65
+ actionpack (= 8.0.2)
66
+ activejob (= 8.0.2)
67
+ activerecord (= 8.0.2)
68
+ activesupport (= 8.0.2)
69
+ marcel (~> 1.0)
70
+ activesupport (8.0.2)
71
+ base64
72
+ benchmark (>= 0.3)
73
+ bigdecimal
74
+ concurrent-ruby (~> 1.0, >= 1.3.1)
75
+ connection_pool (>= 2.2.5)
76
+ drb
77
+ i18n (>= 1.6, < 2)
78
+ logger (>= 1.4.2)
79
+ minitest (>= 5.1)
80
+ securerandom (>= 0.3)
81
+ tzinfo (~> 2.0, >= 2.0.5)
82
+ uri (>= 0.13.1)
83
+ addressable (2.8.7)
84
+ public_suffix (>= 2.0.2, < 7.0)
85
+ ambry (1.0.0)
86
+ appraisal (2.5.0)
87
+ bundler
88
+ rake
89
+ thor (>= 0.14.0)
90
+ ast (2.4.3)
91
+ base64 (0.3.0)
92
+ benchmark (0.4.1)
93
+ bigdecimal (3.2.2)
94
+ builder (3.3.0)
95
+ capybara (3.40.0)
96
+ addressable
97
+ matrix
98
+ mini_mime (>= 0.1.3)
99
+ nokogiri (~> 1.11)
100
+ rack (>= 1.6.0)
101
+ rack-test (>= 0.6.3)
102
+ regexp_parser (>= 1.5, < 3.0)
103
+ xpath (~> 3.2)
104
+ concurrent-ruby (1.3.5)
105
+ connection_pool (2.5.3)
106
+ crass (1.0.6)
107
+ date (3.4.1)
108
+ docile (1.4.1)
109
+ drb (2.2.3)
110
+ erb (5.0.1)
111
+ erubi (1.13.1)
112
+ globalid (1.2.1)
113
+ activesupport (>= 6.1)
114
+ i18n (1.14.7)
115
+ concurrent-ruby (~> 1.0)
116
+ io-console (0.8.0)
117
+ irb (1.15.2)
118
+ pp (>= 0.6.0)
119
+ rdoc (>= 4.0.0)
120
+ reline (>= 0.4.2)
121
+ json (2.12.2)
122
+ language_server-protocol (3.17.0.5)
123
+ lint_roller (1.1.0)
124
+ logger (1.7.0)
125
+ loofah (2.24.1)
126
+ crass (~> 1.0.2)
127
+ nokogiri (>= 1.12.0)
128
+ mail (2.8.1)
129
+ mini_mime (>= 0.1.1)
130
+ net-imap
131
+ net-pop
132
+ net-smtp
133
+ marcel (1.0.4)
134
+ matrix (0.4.3)
135
+ mini_mime (1.1.5)
136
+ minitest (5.25.5)
137
+ minitest-rails (8.0.0)
138
+ minitest (~> 5.20)
139
+ railties (>= 8.0.0, < 8.1.0)
140
+ mocha (2.7.1)
141
+ ruby2_keywords (>= 0.0.5)
142
+ net-imap (0.5.9)
143
+ date
144
+ net-protocol
145
+ net-pop (0.1.2)
146
+ net-protocol
147
+ net-protocol (0.2.2)
148
+ timeout
149
+ net-smtp (0.5.1)
150
+ net-protocol
151
+ nio4r (2.7.4)
152
+ nokogiri (1.18.8-arm64-darwin)
153
+ racc (~> 1.4)
154
+ nokogiri (1.18.8-x86_64-linux-gnu)
155
+ racc (~> 1.4)
156
+ observer (0.1.2)
157
+ parallel (1.27.0)
158
+ parser (3.3.8.0)
159
+ ast (~> 2.4.1)
160
+ racc
161
+ pp (0.6.2)
162
+ prettyprint
163
+ prettyprint (0.2.0)
164
+ prism (1.4.0)
165
+ psych (5.2.6)
166
+ date
167
+ stringio
168
+ public_suffix (6.0.2)
169
+ racc (1.8.1)
170
+ rack (3.1.16)
171
+ rack-session (2.1.1)
172
+ base64 (>= 0.1.0)
173
+ rack (>= 3.0.0)
174
+ rack-test (2.2.0)
175
+ rack (>= 1.3)
176
+ rackup (2.2.1)
177
+ rack (>= 3)
178
+ rails (8.0.2)
179
+ actioncable (= 8.0.2)
180
+ actionmailbox (= 8.0.2)
181
+ actionmailer (= 8.0.2)
182
+ actionpack (= 8.0.2)
183
+ actiontext (= 8.0.2)
184
+ actionview (= 8.0.2)
185
+ activejob (= 8.0.2)
186
+ activemodel (= 8.0.2)
187
+ activerecord (= 8.0.2)
188
+ activestorage (= 8.0.2)
189
+ activesupport (= 8.0.2)
190
+ bundler (>= 1.15.0)
191
+ railties (= 8.0.2)
192
+ rails-dom-testing (2.3.0)
193
+ activesupport (>= 5.0.0)
194
+ minitest
195
+ nokogiri (>= 1.6)
196
+ rails-html-sanitizer (1.6.2)
197
+ loofah (~> 2.21)
198
+ 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)
199
+ railties (8.0.2)
200
+ actionpack (= 8.0.2)
201
+ activesupport (= 8.0.2)
202
+ irb (~> 1.13)
203
+ rackup (>= 1.0.0)
204
+ rake (>= 12.2)
205
+ thor (~> 1.0, >= 1.2.2)
206
+ zeitwerk (~> 2.6)
207
+ rainbow (3.1.1)
208
+ rake (13.3.0)
209
+ rdoc (6.14.1)
210
+ erb
211
+ psych (>= 4.0.0)
212
+ regexp_parser (2.10.0)
213
+ reline (0.6.1)
214
+ io-console (~> 0.5)
215
+ rubocop (1.77.0)
216
+ json (~> 2.3)
217
+ language_server-protocol (~> 3.17.0.2)
218
+ lint_roller (~> 1.1.0)
219
+ parallel (~> 1.10)
220
+ parser (>= 3.3.0.2)
221
+ rainbow (>= 2.2.2, < 4.0)
222
+ regexp_parser (>= 2.9.3, < 3.0)
223
+ rubocop-ast (>= 1.45.1, < 2.0)
224
+ ruby-progressbar (~> 1.7)
225
+ unicode-display_width (>= 2.4.0, < 4.0)
226
+ rubocop-ast (1.45.1)
227
+ parser (>= 3.3.7.2)
228
+ prism (~> 1.4)
229
+ ruby-progressbar (1.13.0)
230
+ ruby2_keywords (0.0.5)
231
+ securerandom (0.4.1)
232
+ simplecov (0.22.0)
233
+ docile (~> 1.1)
234
+ simplecov-html (~> 0.11)
235
+ simplecov_json_formatter (~> 0.1)
236
+ simplecov-html (0.12.3)
237
+ simplecov_json_formatter (0.1.4)
238
+ sqlite3 (2.7.0-arm64-darwin)
239
+ sqlite3 (2.7.0-x86_64-linux-gnu)
240
+ stringio (3.1.7)
241
+ thor (1.3.2)
242
+ timeout (0.4.3)
243
+ tzinfo (2.0.6)
244
+ concurrent-ruby (~> 1.0)
245
+ unicode-display_width (3.1.4)
246
+ unicode-emoji (~> 4.0, >= 4.0.4)
247
+ unicode-emoji (4.0.4)
248
+ uri (1.0.3)
249
+ useragent (0.16.11)
250
+ webrick (1.9.1)
251
+ websocket-driver (0.8.0)
252
+ base64
253
+ websocket-extensions (>= 0.1.0)
254
+ websocket-extensions (0.1.5)
255
+ xpath (3.2.0)
256
+ nokogiri (~> 1.8)
257
+ zeitwerk (2.7.3)
258
+
259
+ PLATFORMS
260
+ arm64-darwin
261
+ x86_64-linux
262
+
263
+ DEPENDENCIES
264
+ appraisal
265
+ capybara
266
+ merit!
267
+ minitest-rails
268
+ mocha
269
+ rails (~> 8.0)
270
+ rubocop
271
+ simplecov
272
+ sqlite3 (> 2.1)
273
+ webrick
274
+
275
+ CHECKSUMS
276
+ actioncable (8.0.2) sha256=7bcce2df62e91a80143592600e16583c273e98aab50ae40a9f6a2604bb3289a0
277
+ actionmailbox (8.0.2) sha256=3d8fb3453913e6257da4d02004bbfa2b997dfd10672f8d990e95013983e2cedb
278
+ actionmailer (8.0.2) sha256=b0c968b38576ec56a3dc2795931818e0aaae6a18cc9801f53f175c12d4b277d0
279
+ actionpack (8.0.2) sha256=93e703064f3815295ccf820f57acbca719aec836749597da9262781c9b2f4b78
280
+ actiontext (8.0.2) sha256=a40db32032ee2fbb479d5d69318c4284344c1cda73836fd73ffcdb917d203abf
281
+ actionview (8.0.2) sha256=e038e1405cdfc18f04f17243da4fb8eeda3a4992f63a6d70a7281d255cf7cebb
282
+ activejob (8.0.2) sha256=b0228b45e36b1ef3a081c684e81494147e094a6baf729018756ccf125b1853ca
283
+ activemodel (8.0.2) sha256=0ae1fb7fa1fae0699ba041a9e97702df42ea3b13f2d39f2d0fde51fca5f0656c
284
+ activerecord (8.0.2) sha256=793470b92c44e4198d0262ac60086b7822f0ea585079ad67e32a6e4c86f2d90a
285
+ activestorage (8.0.2) sha256=f83d221e0f06ae38f2200e55490bd155c76d0add330f6e300e8646048d672977
286
+ activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e
287
+ addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232
288
+ ambry (1.0.0) sha256=a09601ab1139f0cc886a5c5be2d52a423f2ba6ff1d78a4a5bb6f2a5c3c2d0145
289
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
290
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
291
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
292
+ benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce
293
+ bigdecimal (3.2.2) sha256=39085f76b495eb39a79ce07af716f3a6829bc35eb44f2195e2753749f2fa5adc
294
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
295
+ capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef
296
+ concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
297
+ connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b
298
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
299
+ date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f
300
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
301
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
302
+ erb (5.0.1) sha256=760439803b36cc93eca8a266aab614614e588024a89bc30a62e78d98ff452c23
303
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
304
+ globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9
305
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
306
+ io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2
307
+ irb (1.15.2) sha256=222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba
308
+ json (2.12.2) sha256=ba94a48ad265605c8fa9a50a5892f3ba6a02661aa010f638211f3cb36f44abf4
309
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
310
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
311
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
312
+ loofah (2.24.1) sha256=655a30842b70ec476410b347ab1cd2a5b92da46a19044357bbd9f401b009a337
313
+ mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad
314
+ marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4
315
+ matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b
316
+ merit (4.0.3)
317
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
318
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
319
+ minitest-rails (8.0.0) sha256=7788731b9793ef302721f925bf4349e0b943093e6f6b3d68cf8ac9134cd954bc
320
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
321
+ net-imap (0.5.9) sha256=d95905321e1bd9f294ffc7ff8697be218eee1ec96c8504c0960964d0a0be33fc
322
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
323
+ net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
324
+ net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
325
+ nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9
326
+ nokogiri (1.18.8-arm64-darwin) sha256=483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212
327
+ nokogiri (1.18.8-x86_64-linux-gnu) sha256=4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc
328
+ observer (0.1.2) sha256=d8a3107131ba661138d748e7be3dbafc0d82e732fffba9fccb3d7829880950ac
329
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
330
+ parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45
331
+ pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff
332
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
333
+ prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e
334
+ psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e
335
+ public_suffix (6.0.2) sha256=bfa7cd5108066f8c9602e0d6d4114999a5df5839a63149d3e8b0f9c1d3558394
336
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
337
+ rack (3.1.16) sha256=efb5606c351efc56b85b10c3493055d0d35209d23f44792ec4e1183eb0234635
338
+ rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
339
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
340
+ rackup (2.2.1) sha256=f737191fd5c5b348b7f0a4412a3b86383f88c43e13b8217b63d4c8d90b9e798d
341
+ rails (8.0.2) sha256=fdfaa5a83ec0388e02864e88d515959caedc88053b5f701c4deb1652d8f164c6
342
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
343
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
344
+ railties (8.0.2) sha256=0d7c3f40c49ba74980f1bac1d4bb153a9331c5ee8a9631d89c7bf79db82e5cf9
345
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
346
+ rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493
347
+ rdoc (6.14.1) sha256=905efa796cd296ef252af4fb31fe41c073dee894de6aad715821f335c632516b
348
+ regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61
349
+ reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb
350
+ rubocop (1.77.0) sha256=1f360b4575ef7a124be27b0dfffa227a2b2d9420d22d4fd8bf179d702bcc88c0
351
+ rubocop-ast (1.45.1) sha256=94042e49adc17f187ba037b33f941ba7398fede77cdf4bffafba95190a473a3e
352
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
353
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
354
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
355
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
356
+ simplecov-html (0.12.3) sha256=4b1aad33259ffba8b29c6876c12db70e5750cb9df829486e4c6e5da4fa0aa07b
357
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
358
+ sqlite3 (2.7.0-arm64-darwin) sha256=b79d76bd496688f45bd43069f3475285f3303d00a2a9c61cd4fc915350aa20ac
359
+ sqlite3 (2.7.0-x86_64-linux-gnu) sha256=6d7a41bbfc2319bc7e43e944a97a8b15de91c71098bc1d8f4c91c8b719b1c940
360
+ stringio (3.1.7) sha256=5b78b7cb242a315fb4fca61a8255d62ec438f58da2b90be66048546ade4507fa
361
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
362
+ timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e
363
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
364
+ unicode-display_width (3.1.4) sha256=8caf2af1c0f2f07ec89ef9e18c7d88c2790e217c482bfc78aaa65eadd5415ac1
365
+ unicode-emoji (4.0.4) sha256=2c2c4ef7f353e5809497126285a50b23056cc6e61b64433764a35eff6c36532a
366
+ uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011
367
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
368
+ webrick (1.9.1) sha256=b42d3c94f166f3fb73d87e9b359def9b5836c426fc8beacf38f2184a21b2a989
369
+ websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
370
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
371
+ xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e
372
+ zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85
373
+
374
+ BUNDLED WITH
375
+ 2.6.9
data/merit.gemspec CHANGED
@@ -6,16 +6,17 @@ Gem::Specification.new do |s|
6
6
  s.files = `git ls-files`.split("\n").reject{|f| f =~ /^\./ }
7
7
  s.test_files = `git ls-files -- test/*`.split("\n")
8
8
  s.license = 'MIT'
9
- s.version = '4.0.3'
9
+ s.version = '5.0.0'
10
10
  s.authors = ["Tute Costa"]
11
11
  s.email = 'tutecosta@gmail.com'
12
12
 
13
13
  s.required_ruby_version = '>= 2.3.0'
14
14
 
15
15
  s.add_runtime_dependency 'ambry', '~> 1.0.0'
16
+ s.add_runtime_dependency 'observer'
16
17
  s.add_runtime_dependency 'zeitwerk'
17
18
 
18
- s.add_development_dependency 'rails', '>= 5.1.6'
19
+ s.add_development_dependency 'appraisal'
19
20
  s.add_development_dependency 'capybara'
20
21
  s.add_development_dependency 'simplecov'
21
22
  s.add_development_dependency 'rubocop'
@@ -11,14 +11,7 @@ require "merit"
11
11
 
12
12
  module Dummy
13
13
  class Application < ::Rails::Application
14
- if Rails.version.match? "5.2.+"
15
- config.active_record.sqlite3.represent_boolean_as_integer = true
16
- end
17
-
18
- if Rails.version.match? "6.0.+"
19
- config.load_defaults "6.0"
20
- end
21
-
14
+ config.load_defaults Rails.version[0..2]
22
15
  config.i18n.enforce_available_locales = true
23
16
  config.encoding = "utf-8"
24
17
  config.filter_parameters += [:password]
@@ -20,7 +20,7 @@ require "merit"
20
20
 
21
21
  module Dummy
22
22
  class Application < ::Rails::Application
23
- config.load_defaults 5.2 if ENV["RAILS_VERSION"] =~ /^5.2/
23
+ config.load_defaults Rails.version[0..2]
24
24
  config.api_only = true
25
25
  config.i18n.enforce_available_locales = true
26
26
  config.encoding = "utf-8"
@@ -7,41 +7,43 @@ Merit.setup do |config|
7
7
  end
8
8
 
9
9
  # Create application badges (uses https://github.com/norman/ambry)
10
- badge_id = 0
11
- [{
12
- id: (badge_id = badge_id+1),
13
- name: 'commenter',
14
- description: 'You\'ve participated good in our boards! (level 10)',
15
- level: 10
16
- }, {
17
- id: (badge_id = badge_id+1),
18
- name: 'commenter',
19
- description: 'You\'ve participated great in our boards!'
20
- }, {
21
- id: (badge_id = badge_id+1),
22
- name: 'visited_admin',
23
- description: 'You sneaked in!'
24
- }, {
25
- id: (badge_id = badge_id+1),
26
- name: 'has_commenter_friend',
27
- description: 'Testing badge granting in more than one rule per action, with different targets'
28
- }, {
29
- id: (badge_id = badge_id+1),
30
- name: 'relevant-commenter',
31
- description: 'You\'ve received 5 votes on a comment.'
32
- }, {
33
- id: (badge_id = badge_id+1),
34
- name: 'autobiographer',
35
- description: 'You\'ve edited your name and it\'s above 4 characters! (?)'
36
- }, {
37
- id: (badge_id = badge_id+1),
38
- name: 'just-registered'
39
- }, {
40
- id: (badge_id = badge_id+1),
41
- name: 'wildcard_badge'
42
- }, {
43
- id: (badge_id = badge_id+1),
44
- name: 'gossip'
45
- }].each do |badge|
46
- Merit::Badge.create! badge
10
+ Rails.application.reloader.to_prepare do
11
+ badge_id = 0
12
+ [{
13
+ id: (badge_id = badge_id+1),
14
+ name: 'commenter',
15
+ description: 'You\'ve participated good in our boards! (level 10)',
16
+ level: 10
17
+ }, {
18
+ id: (badge_id = badge_id+1),
19
+ name: 'commenter',
20
+ description: 'You\'ve participated great in our boards!'
21
+ }, {
22
+ id: (badge_id = badge_id+1),
23
+ name: 'visited_admin',
24
+ description: 'You sneaked in!'
25
+ }, {
26
+ id: (badge_id = badge_id+1),
27
+ name: 'has_commenter_friend',
28
+ description: 'Testing badge granting in more than one rule per action, with different targets'
29
+ }, {
30
+ id: (badge_id = badge_id+1),
31
+ name: 'relevant-commenter',
32
+ description: 'You\'ve received 5 votes on a comment.'
33
+ }, {
34
+ id: (badge_id = badge_id+1),
35
+ name: 'autobiographer',
36
+ description: 'You\'ve edited your name and it\'s above 4 characters! (?)'
37
+ }, {
38
+ id: (badge_id = badge_id+1),
39
+ name: 'just-registered'
40
+ }, {
41
+ id: (badge_id = badge_id+1),
42
+ name: 'wildcard_badge'
43
+ }, {
44
+ id: (badge_id = badge_id+1),
45
+ name: 'gossip'
46
+ }].each do |badge|
47
+ Merit::Badge.create! badge
48
+ end
47
49
  end
@@ -10,8 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2014_08_19_133931) do
14
-
13
+ ActiveRecord::Schema[7.1].define(version: 2014_08_19_133931) do
15
14
  create_table "addresses", force: :cascade do |t|
16
15
  t.integer "user_id"
17
16
  t.index ["user_id"], name: "index_addresses_on_user_id"
@@ -21,7 +20,7 @@ ActiveRecord::Schema.define(version: 2014_08_19_133931) do
21
20
  t.integer "badge_id"
22
21
  t.integer "sash_id"
23
22
  t.boolean "notified_user", default: false
24
- t.datetime "created_at"
23
+ t.datetime "created_at", precision: nil
25
24
  t.index ["badge_id", "sash_id"], name: "index_badges_sashes_on_badge_id_and_sash_id"
26
25
  t.index ["badge_id"], name: "index_badges_sashes_on_badge_id"
27
26
  t.index ["sash_id"], name: "index_badges_sashes_on_sash_id"
@@ -32,8 +31,8 @@ ActiveRecord::Schema.define(version: 2014_08_19_133931) do
32
31
  t.text "comment"
33
32
  t.integer "user_id"
34
33
  t.integer "votes", default: 0
35
- t.datetime "created_at", null: false
36
- t.datetime "updated_at", null: false
34
+ t.datetime "created_at", precision: nil, null: false
35
+ t.datetime "updated_at", precision: nil, null: false
37
36
  t.integer "sash_id"
38
37
  t.integer "level", default: 0
39
38
  end
@@ -46,8 +45,8 @@ ActiveRecord::Schema.define(version: 2014_08_19_133931) do
46
45
  t.string "target_model"
47
46
  t.integer "target_id"
48
47
  t.boolean "processed", default: false
49
- t.datetime "created_at", null: false
50
- t.datetime "updated_at", null: false
48
+ t.datetime "created_at", precision: nil, null: false
49
+ t.datetime "updated_at", precision: nil, null: false
51
50
  t.text "target_data"
52
51
  t.index ["processed"], name: "index_merit_actions_on_processed"
53
52
  end
@@ -57,14 +56,14 @@ ActiveRecord::Schema.define(version: 2014_08_19_133931) do
57
56
  t.string "related_change_type"
58
57
  t.integer "related_change_id"
59
58
  t.string "description"
60
- t.datetime "created_at"
59
+ t.datetime "created_at", precision: nil
61
60
  end
62
61
 
63
62
  create_table "merit_score_points", force: :cascade do |t|
64
63
  t.integer "score_id"
65
64
  t.integer "num_points", default: 0
66
65
  t.string "log"
67
- t.datetime "created_at"
66
+ t.datetime "created_at", precision: nil
68
67
  t.index ["score_id"], name: "index_merit_score_points_on_score_id"
69
68
  end
70
69
 
@@ -75,14 +74,14 @@ ActiveRecord::Schema.define(version: 2014_08_19_133931) do
75
74
  end
76
75
 
77
76
  create_table "sashes", force: :cascade do |t|
78
- t.datetime "created_at", null: false
79
- t.datetime "updated_at", null: false
77
+ t.datetime "created_at", precision: nil, null: false
78
+ t.datetime "updated_at", precision: nil, null: false
80
79
  end
81
80
 
82
81
  create_table "users", force: :cascade do |t|
83
82
  t.string "name"
84
- t.datetime "created_at", null: false
85
- t.datetime "updated_at", null: false
83
+ t.datetime "created_at", precision: nil, null: false
84
+ t.datetime "updated_at", precision: nil, null: false
86
85
  t.integer "sash_id"
87
86
  t.integer "level", default: 0
88
87
  end
@@ -231,6 +231,7 @@ class NavigationTest < ActionDispatch::IntegrationTest
231
231
  # Destroying a comment should remove points from the comment creator.
232
232
  comment_to_destroy = user.comments.last
233
233
  visit '/comments'
234
+ skip "see bug https://github.com/merit-gem/merit/issues/365"
234
235
  assert_difference lambda { user.reload.points }, -5 do
235
236
  within("tr#c_#{comment_to_destroy.id}") do
236
237
  click_link 'Destroy'
@@ -2,6 +2,7 @@ require 'test_helper'
2
2
 
3
3
  describe Merit::Action do
4
4
  it 'saves correctly with a serialised model' do
5
+ skip "see bug https://github.com/merit-gem/merit/issues/365"
5
6
  comment = Comment.new(name: 'the comment name')
6
7
  action = Merit::Action.create(target_model: 'comment',
7
8
  target_id: 2,
@@ -47,6 +47,7 @@ describe Merit::BaseTargetFinder do
47
47
 
48
48
  describe 'target was destroyed' do
49
49
  it 'gets the object from the JSON data in the merit_actions table' do
50
+ skip "see bug https://github.com/merit-gem/merit/issues/365"
50
51
  comment = Comment.new(name: 'the comment name')
51
52
 
52
53
  rule = Merit::Rule.new
@@ -85,10 +85,10 @@ describe Merit::TargetFinder do
85
85
  comment = Comment.new
86
86
  Comment.stubs(:find_by_id).with(40).returns(comment)
87
87
 
88
- str = '[merit] NoMethodError on `Comment#non_existent`'
89
- str << ' (called from Merit::TargetFinder#other_target)'
90
-
91
- Rails.logger.expects(:warn).with(str)
88
+ Rails.logger.expects(:warn).with(
89
+ '[merit] NoMethodError on `Comment#non_existent`' \
90
+ ' (called from Merit::TargetFinder#other_target)'
91
+ )
92
92
  finder = Merit::TargetFinder.new(rule, action)
93
93
  _(finder.find).must_be_empty
94
94
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merit
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.3
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tute Costa
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-03-05 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ambry
@@ -24,6 +23,20 @@ dependencies:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
25
  version: 1.0.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: observer
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
27
40
  - !ruby/object:Gem::Dependency
28
41
  name: zeitwerk
29
42
  requirement: !ruby/object:Gem::Requirement
@@ -39,19 +52,19 @@ dependencies:
39
52
  - !ruby/object:Gem::Version
40
53
  version: '0'
41
54
  - !ruby/object:Gem::Dependency
42
- name: rails
55
+ name: appraisal
43
56
  requirement: !ruby/object:Gem::Requirement
44
57
  requirements:
45
58
  - - ">="
46
59
  - !ruby/object:Gem::Version
47
- version: 5.1.6
60
+ version: '0'
48
61
  type: :development
49
62
  prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
65
  - - ">="
53
66
  - !ruby/object:Gem::Version
54
- version: 5.1.6
67
+ version: '0'
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: capybara
57
70
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +155,7 @@ executables: []
142
155
  extensions: []
143
156
  extra_rdoc_files: []
144
157
  files:
158
+ - Appraisals
145
159
  - CONTRIBUTING.md
146
160
  - Gemfile
147
161
  - MIT-LICENSE
@@ -152,6 +166,10 @@ files:
152
166
  - TESTING.txt
153
167
  - app/models/merit/badge.rb
154
168
  - config/locales/en.yml
169
+ - gemfiles/rails_7_2.gemfile
170
+ - gemfiles/rails_7_2.gemfile.lock
171
+ - gemfiles/rails_8_0.gemfile
172
+ - gemfiles/rails_8_0.gemfile.lock
155
173
  - lib/merit.rb
156
174
  - lib/merit/badge_rules_methods.rb
157
175
  - lib/merit/base_target_finder.rb
@@ -279,7 +297,6 @@ homepage: https://github.com/merit-gem/merit
279
297
  licenses:
280
298
  - MIT
281
299
  metadata: {}
282
- post_install_message:
283
300
  rdoc_options: []
284
301
  require_paths:
285
302
  - lib
@@ -294,8 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
294
311
  - !ruby/object:Gem::Version
295
312
  version: '0'
296
313
  requirements: []
297
- rubygems_version: 3.2.32
298
- signing_key:
314
+ rubygems_version: 3.6.9
299
315
  specification_version: 4
300
316
  summary: Reputation engine for Rails apps
301
317
  test_files: