judges 0.53.9 → 0.54.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: 60034ea48fc61859326f81b86d8cd41961a0dffc2ffbee2517e5045e2038d9c6
4
- data.tar.gz: c20e1a6c297801c9a297e298fa3647327994e68fed1372bdc91b94e1bbea0df6
3
+ metadata.gz: 362db1ae173a36a6d70359dcb5302f0e9256399471857f45dfca0c8b56e74e72
4
+ data.tar.gz: 383960c78930d7475d6750a994f83cfe514169c052090e7b2e7613119376cf77
5
5
  SHA512:
6
- metadata.gz: e1f0a903fc6a01db440613f958b157ba3b44500c632aa4433cd0683b3227f28ffb24ed7b2d1d6a63e76e95ec7993a132c514b85931e39af152d680bf605ba784
7
- data.tar.gz: 8c7ed1d12b3e7c3c8b96210256044bd2068d4e2aae5d061a83b42863091e1774ef735707dc0a191fddf31758dc2547cd336e4078054046d3ce40974c77059c9e
6
+ metadata.gz: 5e9e77e4a0f716c8efec912ba87aa5243617eed5a90c21f6402b6596f17ee888b8741956111f8e6cd6b426b34b32681c6f8dc9a6b2fc6f02de5077b921b55d5a
7
+ data.tar.gz: ed95c04645d0c0521d1908a31c7ddad0481780faf31d709f8807340500b5ef8badbee8f9994816549a4213e43b6f472e6e3c57af2ac4a0c093a9fe3dde6afd1a
data/Gemfile.lock CHANGED
@@ -3,18 +3,18 @@ PATH
3
3
  specs:
4
4
  judges (0.0.0)
5
5
  backtrace (~> 0.4)
6
- baza.rb (~> 0.5)
6
+ baza.rb (~> 0.10)
7
7
  concurrent-ruby (~> 1.2)
8
- elapsed (~> 0.0)
9
- factbase (~> 0.11)
8
+ elapsed (~> 0.2)
9
+ factbase (~> 0.16)
10
10
  gli (~> 2.21)
11
11
  iri (~> 0.11)
12
12
  loog (~> 0.6)
13
13
  moments (~> 0.3)
14
14
  nokogiri (~> 1.10)
15
- others (~> 0.0)
15
+ others (~> 0.1)
16
16
  retries (~> 0.0)
17
- tago (~> 0.1)
17
+ tago (~> 0.2)
18
18
  timeout (~> 0.4)
19
19
  total (~> 0.4)
20
20
  typhoeus (~> 1.3)
data/README.md CHANGED
@@ -31,7 +31,8 @@ global variables available to it:
31
31
  a judge is finished;
32
32
  * `$global` — a hash map that is never cleaned up;
33
33
  * `$judge` — the basename of the directory, where the `.rb` script is located.
34
- * `$start` — the time moment when plugin was started
34
+ * `$epoch` — the time moment when plugin was started
35
+ * `$kickoff` — the time moment when a judge was started
35
36
 
36
37
  Every `.yml` file must be formatted as such:
37
38
 
data/judges.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
10
10
  s.required_ruby_version = '>=3.2'
11
11
  s.name = 'judges'
12
- s.version = '0.53.9'
12
+ s.version = '0.54.0'
13
13
  s.license = 'MIT'
14
14
  s.summary = 'Command-Line Tool for a Factbase'
15
15
  s.description =
@@ -26,18 +26,18 @@ Gem::Specification.new do |s|
26
26
  s.rdoc_options = ['--charset=UTF-8']
27
27
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
28
28
  s.add_dependency 'backtrace', '~>0.4'
29
- s.add_dependency 'baza.rb', '~>0.5'
29
+ s.add_dependency 'baza.rb', '~>0.10'
30
30
  s.add_dependency 'concurrent-ruby', '~>1.2'
31
- s.add_dependency 'elapsed', '~>0.0'
32
- s.add_dependency 'factbase', '~>0.11'
31
+ s.add_dependency 'elapsed', '~>0.2'
32
+ s.add_dependency 'factbase', '~>0.16'
33
33
  s.add_dependency 'gli', '~>2.21'
34
34
  s.add_dependency 'iri', '~>0.11'
35
35
  s.add_dependency 'loog', '~>0.6'
36
36
  s.add_dependency 'moments', '~>0.3'
37
37
  s.add_dependency 'nokogiri', '~>1.10'
38
- s.add_dependency 'others', '~>0.0'
38
+ s.add_dependency 'others', '~>0.1'
39
39
  s.add_dependency 'retries', '~>0.0'
40
- s.add_dependency 'tago', '~>0.1'
40
+ s.add_dependency 'tago', '~>0.2'
41
41
  s.add_dependency 'timeout', '~>0.4'
42
42
  s.add_dependency 'total', '~>0.4'
43
43
  s.add_dependency 'typhoeus', '~>1.3'
@@ -66,7 +66,7 @@ class Judges::Update
66
66
  end
67
67
  judges = Judges::Judges.new(
68
68
  dir, opts['lib'], @loog,
69
- start: @start, shuffle: opts['shuffle'], boost: opts['boost'],
69
+ epoch: @epoch, shuffle: opts['shuffle'], boost: opts['boost'],
70
70
  demote: opts['demote']
71
71
  )
72
72
  begin
data/lib/judges/judge.rb CHANGED
@@ -21,11 +21,11 @@ class Judges::Judge
21
21
  # @param [String] dir The directory with the judge
22
22
  # @param [String] lib The directory with the lib/
23
23
  # @param [Loog] loog The logging facility
24
- def initialize(dir, lib, loog, start: Time.now)
24
+ def initialize(dir, lib, loog, epoch: Time.now)
25
25
  @dir = dir
26
26
  @lib = lib
27
27
  @loog = loog
28
- @start = start
28
+ @epoch = epoch
29
29
  end
30
30
 
31
31
  # Returns the string representation of the judge.
@@ -40,7 +40,7 @@ class Judges::Judge
40
40
  # @param [Loog] loog New log
41
41
  # @return [Judges::Judge] Similar judge, but log is different
42
42
  def with_loog(loog)
43
- Judges::Judge.new(@dir, @lib, loog, start: @start)
43
+ Judges::Judge.new(@dir, @lib, loog, epoch: @epoch)
44
44
  end
45
45
 
46
46
  # Executes the judge script with the provided factbase and configuration.
@@ -63,7 +63,8 @@ class Judges::Judge
63
63
  $global = global
64
64
  $global.delete(:fb) # to make sure Tallied is always actual
65
65
  $local = local
66
- $start = @start
66
+ $epoch = @epoch
67
+ $kickoff = Time.now
67
68
  options.to_h.each { |k, v| ENV.store(k.to_s, v.to_s) }
68
69
  unless @lib.nil?
69
70
  raise "Lib dir #{@lib.to_rel} is absent" unless File.exist?(@lib)
@@ -85,7 +86,7 @@ class Judges::Judge
85
86
  raise e if e.is_a?(Timeout::ExitException)
86
87
  raise "#{e.message} (#{e.class.name})"
87
88
  ensure
88
- $fb = $judge = $options = $loog = nil
89
+ $fb = $judge = $options = $loog = $epoch = $kickoff = nil
89
90
  end
90
91
  end
91
92
 
data/lib/judges/judges.rb CHANGED
@@ -30,15 +30,15 @@ class Judges::Judges
30
30
  # @param [String] dir Directory containing judges
31
31
  # @param [String] lib Library directory
32
32
  # @param [Loog] loog Logging facility
33
- # @param [Time] start Start time
33
+ # @param [Time] epoch Start time
34
34
  # @param [String] shuffle Prefix for names of judges to shuffle
35
35
  # @param [Array<String>] boost Names of judges to boost in priority
36
36
  # @param [Array<String>] demote Names of judges to demote in priority
37
- def initialize(dir, lib, loog, start: Time.now, shuffle: '', boost: [], demote: [])
37
+ def initialize(dir, lib, loog, epoch: Time.now, shuffle: '', boost: [], demote: [])
38
38
  @dir = dir
39
39
  @lib = lib
40
40
  @loog = loog
41
- @start = start
41
+ @epoch = epoch
42
42
  @shuffle = shuffle || ''
43
43
  @boost = boost
44
44
  @demote = demote
@@ -54,7 +54,7 @@ class Judges::Judges
54
54
  def get(name)
55
55
  d = File.absolute_path(File.join(@dir, name))
56
56
  raise "Judge #{name} doesn't exist in #{@dir}" unless File.exist?(d)
57
- Judges::Judge.new(d, @lib, @loog, start: @start)
57
+ Judges::Judge.new(d, @lib, @loog, epoch: @epoch)
58
58
  end
59
59
 
60
60
  # Iterates over all valid judges in the directory.
data/lib/judges.rb CHANGED
@@ -8,5 +8,5 @@
8
8
  # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
9
9
  # License:: MIT
10
10
  module Judges
11
- VERSION = '0.53.9' unless const_defined?(:VERSION)
11
+ VERSION = '0.54.0' unless const_defined?(:VERSION)
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: judges
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.53.9
4
+ version: 0.54.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.5'
32
+ version: '0.10'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.5'
39
+ version: '0.10'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: concurrent-ruby
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -57,28 +57,28 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.0'
60
+ version: '0.2'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.0'
67
+ version: '0.2'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: factbase
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0.11'
74
+ version: '0.16'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.11'
81
+ version: '0.16'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: gli
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -155,14 +155,14 @@ dependencies:
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '0.0'
158
+ version: '0.1'
159
159
  type: :runtime
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '0.0'
165
+ version: '0.1'
166
166
  - !ruby/object:Gem::Dependency
167
167
  name: retries
168
168
  requirement: !ruby/object:Gem::Requirement
@@ -183,14 +183,14 @@ dependencies:
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '0.1'
186
+ version: '0.2'
187
187
  type: :runtime
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '0.1'
193
+ version: '0.2'
194
194
  - !ruby/object:Gem::Dependency
195
195
  name: timeout
196
196
  requirement: !ruby/object:Gem::Requirement