judges 0.31.0 → 0.32.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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/.0pdd.yml +2 -19
  3. data/.github/workflows/actionlint.yml +4 -20
  4. data/.github/workflows/codecov.yml +9 -21
  5. data/.github/workflows/copyrights.yml +4 -19
  6. data/.github/workflows/markdown-lint.yml +4 -19
  7. data/.github/workflows/pdd.yml +5 -20
  8. data/.github/workflows/rake.yml +6 -22
  9. data/.github/workflows/reuse.yml +19 -0
  10. data/.github/workflows/xcop.yml +4 -19
  11. data/.github/workflows/yamllint.yml +4 -19
  12. data/.gitignore +2 -1
  13. data/.rubocop.yml +9 -20
  14. data/.rultor.yml +3 -19
  15. data/.simplecov +2 -19
  16. data/Gemfile +10 -25
  17. data/Gemfile.lock +84 -61
  18. data/LICENSES/MIT.txt +21 -0
  19. data/REUSE.toml +25 -0
  20. data/Rakefile +3 -29
  21. data/assets/index.xsl +2 -21
  22. data/bin/judges +2 -19
  23. data/features/gem_package.feature +3 -0
  24. data/features/import.feature +3 -0
  25. data/features/inspect.feature +3 -1
  26. data/features/join.feature +3 -0
  27. data/features/misc.feature +3 -0
  28. data/features/print.feature +3 -0
  29. data/features/pull.feature +3 -1
  30. data/features/push.feature +3 -0
  31. data/features/step_definitions/steps.rb +2 -19
  32. data/features/support/env.rb +2 -19
  33. data/features/test.feature +3 -0
  34. data/features/trim.feature +3 -0
  35. data/features/update.feature +5 -2
  36. data/fixtures/guess/guess.rb +2 -19
  37. data/fixtures/guess/guess_made.yml +2 -19
  38. data/fixtures/guess/skipped.yml +2 -19
  39. data/fixtures/try/tried.yml +2 -19
  40. data/fixtures/try/try.rb +2 -19
  41. data/judges.gemspec +4 -21
  42. data/lib/judges/categories.rb +4 -21
  43. data/lib/judges/commands/eval.rb +2 -19
  44. data/lib/judges/commands/import.rb +3 -20
  45. data/lib/judges/commands/inspect.rb +2 -19
  46. data/lib/judges/commands/join.rb +2 -19
  47. data/lib/judges/commands/print.rb +2 -19
  48. data/lib/judges/commands/pull.rb +2 -19
  49. data/lib/judges/commands/push.rb +2 -19
  50. data/lib/judges/commands/test.rb +4 -21
  51. data/lib/judges/commands/trim.rb +2 -19
  52. data/lib/judges/commands/update.rb +25 -49
  53. data/lib/judges/impex.rb +2 -19
  54. data/lib/judges/judge.rb +6 -20
  55. data/lib/judges/judges.rb +2 -19
  56. data/lib/judges/options.rb +2 -19
  57. data/lib/judges/to_rel.rb +2 -19
  58. data/lib/judges.rb +3 -20
  59. data/test/commands/test_eval.rb +3 -20
  60. data/test/commands/test_import.rb +3 -20
  61. data/test/commands/test_inspect.rb +3 -20
  62. data/test/commands/test_join.rb +5 -22
  63. data/test/commands/test_print.rb +8 -25
  64. data/test/commands/test_pull.rb +4 -21
  65. data/test/commands/test_push.rb +3 -20
  66. data/test/commands/test_test.rb +10 -21
  67. data/test/commands/test_trim.rb +2 -19
  68. data/test/commands/test_update.rb +11 -28
  69. data/test/test__helper.rb +2 -19
  70. data/test/test_bin.rb +3 -20
  71. data/test/test_categories.rb +7 -24
  72. data/test/test_impex.rb +2 -19
  73. data/test/test_judge.rb +7 -24
  74. data/test/test_judges.rb +3 -20
  75. data/test/test_options.rb +11 -28
  76. data/test/test_to_rel.rb +2 -19
  77. metadata +9 -8
  78. data/lib/judges/churn.rb +0 -66
  79. data/test/test_churn.rb +0 -46
data/Gemfile.lock CHANGED
@@ -6,7 +6,7 @@ PATH
6
6
  baza.rb (~> 0)
7
7
  concurrent-ruby (~> 1.2)
8
8
  elapsed (~> 0)
9
- factbase (~> 0)
9
+ factbase (>= 0.7.0)
10
10
  gli (~> 2.21)
11
11
  iri (~> 0)
12
12
  loog (~> 0)
@@ -69,15 +69,15 @@ GEM
69
69
  tago (~> 0)
70
70
  typhoeus (~> 1.3)
71
71
  benchmark (0.4.0)
72
- bigdecimal (3.1.8)
72
+ bigdecimal (3.1.9)
73
73
  builder (3.3.0)
74
- concurrent-ruby (1.3.4)
75
- connection_pool (2.4.1)
74
+ concurrent-ruby (1.3.5)
75
+ connection_pool (2.5.0)
76
76
  crack (1.0.0)
77
77
  bigdecimal
78
78
  rexml
79
79
  crass (1.0.6)
80
- cucumber (9.2.0)
80
+ cucumber (9.2.1)
81
81
  builder (~> 3.2)
82
82
  cucumber-ci-environment (> 9, < 11)
83
83
  cucumber-core (> 13, < 14)
@@ -98,13 +98,13 @@ GEM
98
98
  bigdecimal
99
99
  cucumber-gherkin (27.0.0)
100
100
  cucumber-messages (>= 19.1.4, < 23)
101
- cucumber-html-formatter (21.7.0)
102
- cucumber-messages (> 19, < 27)
101
+ cucumber-html-formatter (21.9.0)
102
+ cucumber-messages (> 19, < 28)
103
103
  cucumber-messages (22.0.0)
104
- cucumber-tag-expressions (6.1.1)
104
+ cucumber-tag-expressions (6.1.2)
105
105
  date (3.4.1)
106
106
  decoor (0.0.1)
107
- diff-lcs (1.5.1)
107
+ diff-lcs (1.6.0)
108
108
  docile (1.4.1)
109
109
  drb (2.2.1)
110
110
  elapsed (0.0.1)
@@ -113,7 +113,7 @@ GEM
113
113
  erubi (1.13.1)
114
114
  ethon (0.16.0)
115
115
  ffi (>= 1.15.0)
116
- factbase (0.4.0)
116
+ factbase (0.7.1)
117
117
  backtrace (> 0)
118
118
  decoor (> 0)
119
119
  json (~> 2.7)
@@ -134,30 +134,34 @@ GEM
134
134
  net-http (>= 0.5.0)
135
135
  faraday-retry (2.2.1)
136
136
  faraday (~> 2.0)
137
- ffi (1.17.0-aarch64-linux-gnu)
138
- ffi (1.17.0-arm-linux-gnu)
139
- ffi (1.17.0-arm64-darwin)
140
- ffi (1.17.0-x64-mingw-ucrt)
141
- ffi (1.17.0-x86-linux-gnu)
142
- ffi (1.17.0-x86_64-darwin)
143
- ffi (1.17.0-x86_64-linux-gnu)
144
- gli (2.22.0)
137
+ ffi (1.17.1-aarch64-linux-gnu)
138
+ ffi (1.17.1-arm-linux-gnu)
139
+ ffi (1.17.1-arm64-darwin)
140
+ ffi (1.17.1-x64-mingw-ucrt)
141
+ ffi (1.17.1-x86-linux-gnu)
142
+ ffi (1.17.1-x86_64-darwin)
143
+ ffi (1.17.1-x86_64-linux-gnu)
144
+ gli (2.22.2)
145
+ ostruct
145
146
  hashdiff (1.1.2)
146
- i18n (1.14.6)
147
+ i18n (1.14.7)
147
148
  concurrent-ruby (~> 1.0)
148
149
  io-console (0.8.0)
149
- irb (1.14.3)
150
+ irb (1.15.1)
151
+ pp (>= 0.6.0)
150
152
  rdoc (>= 4.0.0)
151
153
  reline (>= 0.4.2)
152
- iri (0.8.0)
153
- json (2.9.1)
154
- language_server-protocol (3.17.0.3)
155
- logger (1.6.4)
156
- loofah (2.23.1)
154
+ iri (0.10.0)
155
+ json (2.10.1)
156
+ language_server-protocol (3.17.0.4)
157
+ lint_roller (1.1.0)
158
+ logger (1.6.6)
159
+ loofah (2.24.0)
157
160
  crass (~> 1.0.2)
158
161
  nokogiri (>= 1.12.0)
159
162
  loog (0.6.0)
160
163
  mini_mime (1.1.5)
164
+ mini_portile2 (2.8.8)
161
165
  minitest (5.25.4)
162
166
  minitest-reporters (1.7.1)
163
167
  ansi
@@ -169,32 +173,38 @@ GEM
169
173
  multipart-post (2.4.1)
170
174
  net-http (0.6.0)
171
175
  uri
172
- nokogiri (1.17.2-aarch64-linux)
176
+ nokogiri (1.18.3)
177
+ mini_portile2 (~> 2.8.2)
173
178
  racc (~> 1.4)
174
- nokogiri (1.17.2-arm-linux)
179
+ nokogiri (1.18.3-aarch64-linux-gnu)
175
180
  racc (~> 1.4)
176
- nokogiri (1.17.2-arm64-darwin)
181
+ nokogiri (1.18.3-arm-linux-gnu)
177
182
  racc (~> 1.4)
178
- nokogiri (1.17.2-x64-mingw-ucrt)
183
+ nokogiri (1.18.3-arm64-darwin)
179
184
  racc (~> 1.4)
180
- nokogiri (1.17.2-x86-linux)
185
+ nokogiri (1.18.3-x64-mingw-ucrt)
181
186
  racc (~> 1.4)
182
- nokogiri (1.17.2-x86_64-darwin)
187
+ nokogiri (1.18.3-x86_64-darwin)
183
188
  racc (~> 1.4)
184
- nokogiri (1.17.2-x86_64-linux)
189
+ nokogiri (1.18.3-x86_64-linux-gnu)
185
190
  racc (~> 1.4)
191
+ ostruct (0.6.1)
186
192
  others (0.0.3)
187
193
  parallel (1.26.3)
188
- parser (3.3.6.0)
194
+ parser (3.3.7.1)
189
195
  ast (~> 2.4.1)
190
196
  racc
191
- psych (5.2.2)
197
+ pp (0.6.2)
198
+ prettyprint
199
+ prettyprint (0.2.0)
200
+ psych (5.2.3)
192
201
  date
193
202
  stringio
194
203
  public_suffix (6.0.1)
195
204
  racc (1.8.1)
196
- rack (3.1.8)
197
- rack-session (2.0.0)
205
+ rack (3.1.10)
206
+ rack-session (2.1.0)
207
+ base64 (>= 0.1.0)
198
208
  rack (>= 3.0.0)
199
209
  rack-test (2.2.0)
200
210
  rack (>= 1.3)
@@ -217,16 +227,16 @@ GEM
217
227
  zeitwerk (~> 2.6)
218
228
  rainbow (3.1.1)
219
229
  rake (13.2.1)
220
- random-port (0.7.4)
230
+ random-port (0.7.5)
221
231
  tago (> 0)
222
- rdoc (6.10.0)
232
+ rdoc (6.12.0)
223
233
  psych (>= 4.0.0)
224
- regexp_parser (2.9.3)
234
+ regexp_parser (2.10.0)
225
235
  reline (0.6.0)
226
236
  io-console (~> 0.5)
227
237
  retries (0.0.5)
228
- rexml (3.4.0)
229
- rspec-core (3.13.2)
238
+ rexml (3.4.1)
239
+ rspec-core (3.13.3)
230
240
  rspec-support (~> 3.13.0)
231
241
  rspec-expectations (3.13.3)
232
242
  diff-lcs (>= 1.2.0, < 2.0)
@@ -234,7 +244,7 @@ GEM
234
244
  rspec-mocks (3.13.2)
235
245
  diff-lcs (>= 1.2.0, < 2.0)
236
246
  rspec-support (~> 3.13.0)
237
- rspec-rails (7.1.0)
247
+ rspec-rails (7.1.1)
238
248
  actionpack (>= 7.0)
239
249
  activesupport (>= 7.0)
240
250
  railties (>= 7.0)
@@ -243,23 +253,33 @@ GEM
243
253
  rspec-mocks (~> 3.13)
244
254
  rspec-support (~> 3.13)
245
255
  rspec-support (3.13.2)
246
- rubocop (1.69.2)
256
+ rubocop (1.72.2)
247
257
  json (~> 2.3)
248
- language_server-protocol (>= 3.17.0)
258
+ language_server-protocol (~> 3.17.0.2)
259
+ lint_roller (~> 1.1.0)
249
260
  parallel (~> 1.10)
250
261
  parser (>= 3.3.0.2)
251
262
  rainbow (>= 2.2.2, < 4.0)
252
263
  regexp_parser (>= 2.9.3, < 3.0)
253
- rubocop-ast (>= 1.36.2, < 2.0)
264
+ rubocop-ast (>= 1.38.0, < 2.0)
254
265
  ruby-progressbar (~> 1.7)
255
266
  unicode-display_width (>= 2.4.0, < 4.0)
256
- rubocop-ast (1.37.0)
267
+ rubocop-ast (1.38.0)
257
268
  parser (>= 3.3.1.0)
258
- rubocop-performance (1.23.0)
259
- rubocop (>= 1.48.1, < 2.0)
260
- rubocop-ast (>= 1.31.1, < 2.0)
261
- rubocop-rspec (3.3.0)
262
- rubocop (~> 1.61)
269
+ rubocop-minitest (0.37.1)
270
+ lint_roller (~> 1.1)
271
+ rubocop (>= 1.72.1, < 2.0)
272
+ rubocop-ast (>= 1.38.0, < 2.0)
273
+ rubocop-performance (1.24.0)
274
+ lint_roller (~> 1.1)
275
+ rubocop (>= 1.72.1, < 2.0)
276
+ rubocop-ast (>= 1.38.0, < 2.0)
277
+ rubocop-rake (0.7.1)
278
+ lint_roller (~> 1.1)
279
+ rubocop (>= 1.72.1)
280
+ rubocop-rspec (3.5.0)
281
+ lint_roller (~> 1.1)
282
+ rubocop (~> 1.72, >= 1.72.1)
263
283
  ruby-progressbar (1.13.0)
264
284
  securerandom (0.4.1)
265
285
  simplecov (0.22.0)
@@ -271,7 +291,7 @@ GEM
271
291
  simplecov (~> 0.19)
272
292
  simplecov-html (0.13.1)
273
293
  simplecov_json_formatter (0.1.4)
274
- stringio (3.1.2)
294
+ stringio (3.1.5)
275
295
  sys-uname (1.3.1)
276
296
  ffi (~> 1.1)
277
297
  tago (0.0.2)
@@ -281,7 +301,7 @@ GEM
281
301
  ethon (>= 0.9.0)
282
302
  tzinfo (2.0.6)
283
303
  concurrent-ruby (~> 1.0)
284
- unicode-display_width (3.1.2)
304
+ unicode-display_width (3.1.4)
285
305
  unicode-emoji (~> 4.0, >= 4.0.4)
286
306
  unicode-emoji (4.0.4)
287
307
  uri (1.0.2)
@@ -290,38 +310,41 @@ GEM
290
310
  json (>= 1.8)
291
311
  nokogiri (~> 1.6)
292
312
  rexml (~> 3.2)
293
- webmock (3.24.0)
313
+ webmock (3.25.0)
294
314
  addressable (>= 2.8.0)
295
315
  crack (>= 0.3.2)
296
316
  hashdiff (>= 0.4.0, < 2.0.0)
297
317
  yaml (0.4.0)
298
318
  yard (0.9.37)
299
- zeitwerk (2.7.1)
319
+ zeitwerk (2.7.2)
300
320
 
301
321
  PLATFORMS
302
322
  aarch64-linux
303
323
  arm-linux
304
324
  arm64-darwin
325
+ arm64-darwin-23
305
326
  x64-mingw-ucrt
306
327
  x86-linux
307
328
  x86_64-darwin
308
329
  x86_64-linux
309
330
 
310
331
  DEPENDENCIES
311
- cucumber (= 9.2.0)
332
+ cucumber (= 9.2.1)
312
333
  judges!
313
334
  minitest (= 5.25.4)
314
335
  minitest-reporters (= 1.7.1)
315
336
  rake (= 13.2.1)
316
337
  random-port (~> 0.0)
317
- rspec-rails (= 7.1.0)
318
- rubocop (= 1.69.2)
319
- rubocop-performance (= 1.23.0)
320
- rubocop-rspec (= 3.3.0)
338
+ rspec-rails (= 7.1.1)
339
+ rubocop (= 1.72.2)
340
+ rubocop-minitest (> 0)
341
+ rubocop-performance (> 0)
342
+ rubocop-rake (> 0)
343
+ rubocop-rspec (> 0)
321
344
  simplecov (= 0.22.0)
322
345
  simplecov-cobertura (= 2.1.0)
323
346
  w3c_validators (= 1.3.7)
324
- webmock (= 3.24.0)
347
+ webmock (= 3.25.0)
325
348
  yard (= 0.9.37)
326
349
 
327
350
  BUNDLED WITH
data/LICENSES/MIT.txt ADDED
@@ -0,0 +1,21 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2024-2025 Yegor Bugayenko
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the 'Software'), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/REUSE.toml ADDED
@@ -0,0 +1,25 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
4
+ version = 1
5
+ [[annotations]]
6
+ path = [
7
+ "**/*.jpg",
8
+ "**/*.json",
9
+ "**/*.md",
10
+ "**/*.pdf",
11
+ "**/*.png",
12
+ "**/*.svg",
13
+ "**/.gitignore",
14
+ ".gitattributes",
15
+ ".gitignore",
16
+ ".gitleaksignore",
17
+ ".pdd",
18
+ ".xcop",
19
+ "Gemfile.lock",
20
+ "README.md",
21
+ "renovate.json",
22
+ ]
23
+ precedence = "override"
24
+ SPDX-FileCopyrightText = "Copyright (c) 2025 Yegor Bugayenko"
25
+ SPDX-License-Identifier = "MIT"
data/Rakefile CHANGED
@@ -1,24 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024-2025 Yegor Bugayenko
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the 'Software'), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ # SPDX-License-Identifier: MIT
22
5
 
23
6
  require 'rubygems'
24
7
  require 'rake'
@@ -35,7 +18,7 @@ end
35
18
 
36
19
  ENV['RACK_ENV'] = 'test'
37
20
 
38
- task default: %i[clean test features rubocop yard copyright]
21
+ task default: %i[clean test features rubocop yard]
39
22
 
40
23
  require 'rake/testtask'
41
24
  desc 'Run all unit tests'
@@ -68,12 +51,3 @@ RuboCop::RakeTask.new(:rubocop) do |task|
68
51
  task.fail_on_error = true
69
52
  task.requires << 'rubocop-rspec'
70
53
  end
71
-
72
- task :copyright do
73
- sh "grep -q -r '#{Date.today.strftime('%Y')}' \
74
- --include '*.rb' \
75
- --include '*.yml' \
76
- --include '*.txt' \
77
- --include 'Rakefile' \
78
- ."
79
- end
data/assets/index.xsl CHANGED
@@ -1,26 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--
3
- (The MIT License)
4
-
5
- Copyright (c) 2024-2025 Yegor Bugayenko
6
-
7
- Permission is hereby granted, free of charge, to any person obtaining a copy
8
- of this software and associated documentation files (the 'Software'), to deal
9
- in the Software without restriction, including without limitation the rights
10
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- copies of the Software, and to permit persons to whom the Software is
12
- furnished to do so, subject to the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be included in all
15
- copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
- SOFTWARE.
3
+ * SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ * SPDX-License-Identifier: MIT
24
5
  -->
25
6
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
26
7
  <xsl:output method="xml" omit-xml-declaration="yes" encoding="UTF-8" indent="yes"/>
data/bin/judges CHANGED
@@ -1,24 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # Copyright (c) 2024-2025 Yegor Bugayenko
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the 'Software'), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ # SPDX-License-Identifier: MIT
22
5
 
23
6
  $stdout.sync = true
24
7
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Gem Package
2
5
  As a source code writer I want to be able to
3
6
  judgeage the Gem into .gem file
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Import
2
5
  I want to import YAML into a factbase
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Inspect
2
5
  I want to inspect a factbase
3
6
 
@@ -8,4 +11,3 @@ Feature: Inspect
8
11
  Then I run bin/judges with "inspect simple.fb"
9
12
  Then Stdout contains "Facts: 1"
10
13
  And Exit code is zero
11
-
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Join
2
5
  I want to join two factbases
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Misc
2
5
  I want to get some meta info
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Print
2
5
  I want to print a factbase
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Pull
2
5
  I want to pull a factbase
3
6
 
@@ -7,4 +10,3 @@ Feature: Pull
7
10
  Then I run bin/judges with "--verbose pull --token 00000000-0000-0000-0000-000000000000 --wait=15 {FAKE-NAME} simple.fb"
8
11
  Then Stdout contains "doesn't exist at api.zerocracy.com"
9
12
  And Exit code is zero
10
-
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Push
2
5
  I want to push a factbase
3
6
 
@@ -1,24 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024-2025 Yegor Bugayenko
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the 'Software'), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ # SPDX-License-Identifier: MIT
22
5
 
23
6
  require 'tmpdir'
24
7
  require 'English'
@@ -1,23 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024-2025 Yegor Bugayenko
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the 'Software'), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ # SPDX-License-Identifier: MIT
22
5
 
23
6
  require 'simplecov'
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Test
2
5
  I want to test a few judges
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Trim
2
5
  I want to trim a factbase
3
6
 
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
1
4
  Feature: Update
2
5
  I want to run a few judges over a factbase
3
6
 
@@ -12,7 +15,7 @@ Feature: Update
12
15
  Then Stdout contains "FOO → "
13
16
  Then Stdout contains "BAR → "
14
17
  Then Stdout contains "1 judge(s) processed"
15
- Then Stdout contains "Update finished in 3 cycle(s), modified 3/0 fact(s)"
18
+ Then Stdout contains "Update finished in 3 cycle(s), did 3i/0d/3a"
16
19
  And Exit code is zero
17
20
 
18
21
  Scenario: Use options from a file
@@ -43,7 +46,7 @@ Feature: Update
43
46
  Then I run bin/judges with "--verbose update --timeout 1 --quiet . foo.fb"
44
47
  Then Stdout contains "timed out"
45
48
  Then Stdout contains "1 judge(s) processed"
46
- Then Stdout contains "Update finished in 1 cycle(s), modified 0/0 fact(s)"
49
+ Then Stdout contains "Update finished in 1 cycle(s), did 0i/0d/0a"
47
50
  And Exit code is zero
48
51
 
49
52
  Scenario: Simple run of a few judges, with a lib
@@ -1,24 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024-2025 Yegor Bugayenko
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the 'Software'), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
+ # SPDX-License-Identifier: MIT
22
5
 
23
6
  $loog.info("Trying to guess a number (judge=#{$judge})...")
24
7
  $fb.txn do |fbt|
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2024-2025 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
  ---
21
4
  input: []
22
5
  expected: