judges 0.29.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.0pdd.yml +1 -1
  3. data/.github/workflows/actionlint.yml +1 -1
  4. data/.github/workflows/codecov.yml +1 -1
  5. data/.github/workflows/copyrights.yml +1 -1
  6. data/.github/workflows/markdown-lint.yml +1 -1
  7. data/.github/workflows/pdd.yml +1 -1
  8. data/.github/workflows/rake.yml +1 -1
  9. data/.github/workflows/xcop.yml +1 -1
  10. data/.github/workflows/yamllint.yml +1 -1
  11. data/.rubocop.yml +1 -1
  12. data/.rultor.yml +1 -1
  13. data/.simplecov +1 -1
  14. data/Gemfile +1 -1
  15. data/Gemfile.lock +2 -1
  16. data/LICENSE.txt +1 -1
  17. data/Rakefile +1 -1
  18. data/assets/index.xsl +1 -1
  19. data/bin/judges +5 -3
  20. data/features/step_definitions/steps.rb +1 -1
  21. data/features/support/env.rb +1 -1
  22. data/features/update.feature +18 -0
  23. data/fixtures/guess/guess.rb +1 -1
  24. data/fixtures/guess/guess_made.yml +1 -1
  25. data/fixtures/guess/skipped.yml +1 -1
  26. data/fixtures/try/tried.yml +1 -1
  27. data/fixtures/try/try.rb +1 -1
  28. data/judges.gemspec +2 -2
  29. data/lib/judges/categories.rb +2 -2
  30. data/lib/judges/churn.rb +2 -2
  31. data/lib/judges/commands/eval.rb +2 -2
  32. data/lib/judges/commands/import.rb +2 -2
  33. data/lib/judges/commands/inspect.rb +2 -2
  34. data/lib/judges/commands/join.rb +2 -2
  35. data/lib/judges/commands/print.rb +2 -2
  36. data/lib/judges/commands/pull.rb +2 -2
  37. data/lib/judges/commands/push.rb +2 -2
  38. data/lib/judges/commands/test.rb +2 -2
  39. data/lib/judges/commands/trim.rb +2 -2
  40. data/lib/judges/commands/update.rb +20 -7
  41. data/lib/judges/impex.rb +2 -2
  42. data/lib/judges/judge.rb +2 -2
  43. data/lib/judges/judges.rb +2 -2
  44. data/lib/judges/options.rb +2 -2
  45. data/lib/judges/to_rel.rb +2 -2
  46. data/lib/judges.rb +3 -3
  47. data/test/commands/test_eval.rb +2 -2
  48. data/test/commands/test_import.rb +2 -2
  49. data/test/commands/test_inspect.rb +2 -2
  50. data/test/commands/test_join.rb +2 -2
  51. data/test/commands/test_print.rb +2 -2
  52. data/test/commands/test_pull.rb +2 -2
  53. data/test/commands/test_push.rb +2 -2
  54. data/test/commands/test_test.rb +2 -2
  55. data/test/commands/test_trim.rb +2 -2
  56. data/test/commands/test_update.rb +16 -2
  57. data/test/test__helper.rb +1 -1
  58. data/test/test_bin.rb +2 -2
  59. data/test/test_categories.rb +2 -2
  60. data/test/test_churn.rb +2 -2
  61. data/test/test_impex.rb +2 -2
  62. data/test/test_judge.rb +2 -2
  63. data/test/test_judges.rb +2 -2
  64. data/test/test_options.rb +2 -2
  65. data/test/test_to_rel.rb +2 -2
  66. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef7c67730c179f98b6f395fbad9be1df9229984b380c52ac6c64767b74ce241e
4
- data.tar.gz: bf6b63a2acd86e3c8b411f069367aebaed64f5c36a85997038bf31f19cded3c1
3
+ metadata.gz: ed0994ece15e58d311ac1b68885fef5fc5d85339ffa616cbc04696695d8843d3
4
+ data.tar.gz: b45a821f87bab95a4d59936d0068689f953cb855be7df9876308aeb7f4ae8e7b
5
5
  SHA512:
6
- metadata.gz: e8c2dd385af7ec0e2f80080e27ddec8479812521efe16ae754726adfce6593c62396fae72d6a635ed9e925aa1dee1f2382f0cdedde24abcfb1a805da925f23f4
7
- data.tar.gz: 4597927deaf3e416a86083a2aab8db341469c604aa935e145119da1ad7bbb83319ffceaa6ac50778d33cada2cf5cd5209a5227aa5826c2febb4726b7efc36c28
6
+ metadata.gz: be8e7d97a80edb05765307afe7abe89b77e8a62692634e37ab5b8326d490bd9c0c30822913b744bdf456d8aad3b33354336ffe4b7daf6027b4955158fb77d90e
7
+ data.tar.gz: 9ce22ed01f6752c55139c8b556492a960eb266a6bcbc934b96db0f4aab2489f7b1e24fbf10aa9ef39266788637d3736583da7ec030c35c2340f381233f8b9786
data/.0pdd.yml CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
data/.rultor.yml CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
data/.simplecov CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2024 Yegor Bugayenko
4
+ # Copyright (c) 2024-2025 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/Gemfile.lock CHANGED
@@ -217,7 +217,8 @@ GEM
217
217
  zeitwerk (~> 2.6)
218
218
  rainbow (3.1.1)
219
219
  rake (13.2.1)
220
- random-port (0.7.1)
220
+ random-port (0.7.4)
221
+ tago (> 0)
221
222
  rdoc (6.10.0)
222
223
  psych (>= 4.0.0)
223
224
  regexp_parser (2.9.3)
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2024 Yegor Bugayenko
3
+ Copyright (c) 2024-2025 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/assets/index.xsl CHANGED
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2024 Yegor Bugayenko
5
+ Copyright (c) 2024-2025 Yegor Bugayenko
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  of this software and associated documentation files (the 'Software'), to deal
data/bin/judges CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,6 +26,7 @@ require 'gli'
26
26
  require 'loog'
27
27
  require 'time'
28
28
  require 'factbase'
29
+ require_relative '../lib/judges'
29
30
 
30
31
  Encoding.default_external = Encoding::UTF_8
31
32
  Encoding.default_internal = Encoding::UTF_8
@@ -42,9 +43,8 @@ class JudgesGLI extend GLI::App
42
43
 
43
44
  @@loog = Loog::REGULAR
44
45
 
45
- program_desc('Automated executor of judges for a factbase')
46
+ program_desc("Automated executor of judges for a factbase (#{Judges::VERSION})")
46
47
 
47
- require_relative '../lib/judges'
48
48
  version(Judges::VERSION)
49
49
 
50
50
  synopsis_format(:full)
@@ -70,6 +70,8 @@ class JudgesGLI extend GLI::App
70
70
  command :update do |c|
71
71
  c.desc 'Options to pass to every judge'
72
72
  c.flag([:o, :option], multiple: true, arg_name: '<key=value>')
73
+ c.desc 'File with options, one k=v pair per line'
74
+ c.flag([:'options-file'])
73
75
  c.desc 'The location of a Ruby library (directory with .rb files to include)'
74
76
  c.flag([:lib])
75
77
  c.desc 'Maximum time in seconds to spend on every judge (forcefully terminate if over time)'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -15,6 +15,24 @@ Feature: Update
15
15
  Then Stdout contains "Update finished in 3 cycle(s), modified 3/0 fact(s)"
16
16
  And Exit code is zero
17
17
 
18
+ Scenario: Use options from a file
19
+ Given I make a temp directory
20
+ Then I have a "simple/simple.rb" file with content:
21
+ """
22
+ n.kind.foo = $options.a1
23
+ """
24
+ Then I have a "opts.txt" file with content:
25
+ """
26
+ a1 = test
27
+ a2 = another test
28
+ """
29
+ Then I run bin/judges with "--verbose update --quiet --options-file opts.txt . simple.fb"
30
+ Then Stdout contains "A1 → "
31
+ Then Stdout contains "A2 → "
32
+ Then Stdout contains "1 judge(s) processed"
33
+ Then Stdout contains "Update finished"
34
+ And Exit code is zero
35
+
18
36
  Scenario: Simple run with a timeout for a judge
19
37
  Given I make a temp directory
20
38
  Then I have a "slow/slow.rb" file with content:
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024 Yegor Bugayenko
1
+ # Copyright (c) 2024-2025 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
data/fixtures/try/try.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/judges.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
27
27
  s.required_ruby_version = '>=3.2'
28
28
  s.name = 'judges'
29
- s.version = '0.29.0'
29
+ s.version = '0.31.0'
30
30
  s.license = 'MIT'
31
31
  s.summary = 'Command-Line Tool for a Factbase'
32
32
  s.description =
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,7 +24,7 @@ require_relative '../judges'
24
24
 
25
25
  # Categories of tests.
26
26
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class Judges::Categories
30
30
  # Ctor.
data/lib/judges/churn.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,7 +24,7 @@ require_relative '../judges'
24
24
 
25
25
  # How many facts were modified.
26
26
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class Judges::Churn
30
30
  attr_reader :added, :removed, :errors
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -31,7 +31,7 @@ require_relative '../../judges/impex'
31
31
  # are not supposed to instantiate it yourself.
32
32
  #
33
33
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
34
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
34
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
35
35
  # License:: MIT
36
36
  class Judges::Eval
37
37
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -33,7 +33,7 @@ require_relative '../../judges/to_rel'
33
33
  # are not supposed to instantiate it yourself.
34
34
  #
35
35
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
36
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
36
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
37
37
  # License:: MIT
38
38
  class Judges::Import
39
39
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +29,7 @@ require_relative '../../judges/impex'
29
29
  # are not supposed to instantiate it yourself.
30
30
  #
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  class Judges::Inspect
35
35
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative '../../judges/impex'
30
30
  # are not supposed to instantiate it yourself.
31
31
  #
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class Judges::Join
36
36
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -34,7 +34,7 @@ require_relative '../../judges/impex'
34
34
  # are not supposed to instantiate it yourself.
35
35
  #
36
36
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
37
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
37
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
38
38
  # License:: MIT
39
39
  class Judges::Print
40
40
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -33,7 +33,7 @@ require_relative '../../judges/impex'
33
33
  # are not supposed to instantiate it yourself.
34
34
  #
35
35
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
36
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
36
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
37
37
  # License:: MIT
38
38
  class Judges::Pull
39
39
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -33,7 +33,7 @@ require_relative '../../judges/impex'
33
33
  # are not supposed to instantiate it yourself.
34
34
  #
35
35
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
36
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
36
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
37
37
  # License:: MIT
38
38
  class Judges::Push
39
39
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -38,7 +38,7 @@ require_relative '../../judges/categories'
38
38
  # are not supposed to instantiate it yourself.
39
39
  #
40
40
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
41
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
41
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
42
42
  # License:: MIT
43
43
  class Judges::Test
44
44
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -31,7 +31,7 @@ require_relative '../../judges/impex'
31
31
  # are not supposed to instantiate it yourself.
32
32
  #
33
33
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
34
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
34
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
35
35
  # License:: MIT
36
36
  class Judges::Trim
37
37
  def initialize(loog)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -38,7 +38,7 @@ require_relative '../../judges/impex'
38
38
  # are not supposed to instantiate it yourself.
39
39
  #
40
40
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
41
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
41
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
42
42
  # License:: MIT
43
43
  class Judges::Update
44
44
  def initialize(loog)
@@ -58,6 +58,15 @@ class Judges::Update
58
58
  fb = impex.import(strict: false)
59
59
  fb = Factbase::Looged.new(fb, @loog) if opts['log']
60
60
  options = Judges::Options.new(opts['option'])
61
+ if opts['options-file']
62
+ options += Judges::Options.new(
63
+ File.readlines(opts['options-file'])
64
+ .compact
65
+ .reject(&:empty?)
66
+ .map { |ln| ln.strip.split('=', 1).map(&:strip).join('=') }
67
+ )
68
+ @loog.debug("Options loaded from #{opts['options-file']}")
69
+ end
61
70
  if options.empty?
62
71
  @loog.debug('No options provided by the --option flag')
63
72
  else
@@ -148,19 +157,23 @@ class Judges::Update
148
157
  def one_judge(opts, fb, judge, global, options)
149
158
  local = {}
150
159
  before = fb.size
160
+ churn = Judges::Churn.new(0, 0)
151
161
  begin
152
162
  Timeout.timeout(opts['timeout']) do
153
163
  judge.run(fb, global, local, options)
154
164
  end
155
165
  rescue Timeout::Error => e
166
+ churn << "Judge #{judge.name} stopped by timeout: #{e.message}"
156
167
  throw :"👎 The '#{judge.name}' judge timed out: #{e.message}"
157
168
  end
158
169
  after = fb.size
159
170
  diff = after - before
160
- if diff.positive?
161
- Judges::Churn.new(diff, 0)
162
- else
163
- Judges::Churn.new(0, -diff)
164
- end
171
+ churn +=
172
+ if diff.positive?
173
+ Judges::Churn.new(diff, 0)
174
+ else
175
+ Judges::Churn.new(0, -diff)
176
+ end
177
+ churn
165
178
  end
166
179
  end
data/lib/judges/impex.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../judges/to_rel'
28
28
 
29
29
  # Import/Export of factbases.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class Judges::Impex
34
34
  def initialize(loog, file)
data/lib/judges/judge.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative '../judges/to_rel'
27
27
 
28
28
  # A single judge.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class Judges::Judge
33
33
  attr_reader :dir
data/lib/judges/judges.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -40,7 +40,7 @@ require_relative 'judge'
40
40
  # name of the +.rb+ script inside the directory.
41
41
  #
42
42
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
43
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
43
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
44
44
  # License:: MIT
45
45
  class Judges::Judges
46
46
  def initialize(dir, lib, loog, start: Time.now)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -25,7 +25,7 @@ require_relative '../judges'
25
25
 
26
26
  # Options for Ruby scripts in the judges.
27
27
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
28
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
28
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
29
29
  # License:: MIT
30
30
  class Judges::Options
31
31
  # Ctor.
data/lib/judges/to_rel.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,7 +24,7 @@ require 'pathname'
24
24
 
25
25
  # Adding method +to_rel+ to all Ruby objects.
26
26
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class Object
30
30
  # Generates a relative name of a file (to the current dir).
data/lib/judges.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -22,8 +22,8 @@
22
22
 
23
23
  # Judges.
24
24
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
25
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
25
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  module Judges
28
- VERSION = '0.29.0'
28
+ VERSION = '0.31.0'
29
29
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative '../../lib/judges/commands/eval'
30
30
 
31
31
  # Test.
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class TestEval < Minitest::Test
36
36
  def test_build_factbase_from_scratch
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative '../../lib/judges/commands/import'
30
30
 
31
31
  # Test.
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class TestImport < Minitest::Test
36
36
  def test_import_from_yaml
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../../lib/judges/commands/inspect'
28
28
 
29
29
  # Test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestInspect < Minitest::Test
34
34
  def test_simple_inspect
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +29,7 @@ require_relative '../../lib/judges/commands/join'
29
29
 
30
30
  # Test.
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  class TestJoin < Minitest::Test
35
35
  def test_simple_join
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -34,7 +34,7 @@ require_relative '../../lib/judges/commands/print'
34
34
 
35
35
  # Test.
36
36
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
37
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
37
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
38
38
  # License:: MIT
39
39
  class TestPrint < Minitest::Test
40
40
  def test_simple_print
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +29,7 @@ require_relative '../../lib/judges/commands/pull'
29
29
 
30
30
  # Test.
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  class TestPull < Minitest::Test
35
35
  def test_pull_simple_factbase
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../../lib/judges/commands/push'
28
28
 
29
29
  # Test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestPush < Minitest::Test
34
34
  def test_push_simple_factbase
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../../lib/judges/commands/test'
28
28
 
29
29
  # Test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestTest < Minitest::Test
34
34
  def test_positive
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +29,7 @@ require_relative '../../lib/judges/commands/trim'
29
29
 
30
30
  # Test.
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  class TestTrim < Minitest::Test
35
35
  def test_trims_factbase
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative '../../lib/judges/commands/update'
30
30
 
31
31
  # Test.
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class TestUpdate < Minitest::Test
36
36
  def test_build_factbase_from_scratch
@@ -81,6 +81,20 @@ class TestUpdate < Minitest::Test
81
81
  end
82
82
  end
83
83
 
84
+ def test_update_with_options_in_file
85
+ Dir.mktmpdir do |d|
86
+ save_it(File.join(d, 'foo/foo.rb'), '$fb.insert.foo = $options.bar')
87
+ file = File.join(d, 'base.fb')
88
+ opts = File.join(d, 'opts.txt')
89
+ save_it(opts, " bar = helloo \n bar = 444\n\n")
90
+ Judges::Update.new(Loog::NULL).run({ 'quiet' => true, 'max-cycles' => 1, 'options-file' => opts }, [d, file])
91
+ fb = Factbase.new
92
+ fb.import(File.binread(file))
93
+ xml = Nokogiri::XML.parse(Factbase::ToXML.new(fb).xml)
94
+ assert(!xml.xpath('/fb/f[foo="444"]').empty?, xml)
95
+ end
96
+ end
97
+
84
98
  def test_update_with_error_no_quiet
85
99
  assert_raises do
86
100
  Dir.mktmpdir do |d|
data/test/test__helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test_bin.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,7 +24,7 @@ require 'minitest/autorun'
24
24
 
25
25
  # Test.
26
26
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class TestBin < Minitest::Test
30
30
  def test_simple_run
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ require_relative '../lib/judges/categories'
26
26
 
27
27
  # Test.
28
28
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestCategories < Minitest::Test
32
32
  def test_basic
data/test/test_churn.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ require_relative '../lib/judges/churn'
26
26
 
27
27
  # Test.
28
28
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestChurn < Minitest::Test
32
32
  def test_basic
data/test/test_impex.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/judges/impex'
28
28
 
29
29
  # Test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestImpex < Minitest::Test
34
34
  def test_basic
data/test/test_judge.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -30,7 +30,7 @@ require_relative '../lib/judges/judge'
30
30
 
31
31
  # Test.
32
32
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
33
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
34
34
  # License:: MIT
35
35
  class TestJudge < Minitest::Test
36
36
  def test_basic_run
data/test/test_judges.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative '../lib/judges/judges'
28
28
 
29
29
  # Test.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  class TestJudges < Minitest::Test
34
34
  def test_basic
data/test/test_options.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ require_relative '../lib/judges/options'
26
26
 
27
27
  # Test.
28
28
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestOptions < Minitest::Test
32
32
  def test_basic
data/test/test_to_rel.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2024 Yegor Bugayenko
3
+ # Copyright (c) 2024-2025 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ require_relative '../lib/judges/to_rel'
26
26
 
27
27
  # Test.
28
28
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2024 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestToRel < Minitest::Test
32
32
  def test_simple_mapping
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: judges
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-24 00:00:00.000000000 Z
11
+ date: 2025-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace