judges 0.34.0 ā 0.36.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 +4 -4
- data/.gitignore +6 -5
- data/.rultor.yml +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +8 -6
- data/README.md +1 -1
- data/bin/judges +19 -1
- data/features/test.feature +5 -0
- data/features/update.feature +1 -1
- data/judges.gemspec +3 -2
- data/lib/judges/commands/eval.rb +5 -3
- data/lib/judges/commands/import.rb +5 -3
- data/lib/judges/commands/test.rb +7 -3
- data/lib/judges/commands/update.rb +17 -8
- data/lib/judges/judge.rb +5 -0
- data/lib/judges.rb +1 -1
- data/test/commands/test_update.rb +11 -0
- metadata +21 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18f43a54137335635c83546194f70f967bb731b09b33776c9ee8b5539cd5475a
|
4
|
+
data.tar.gz: 9ecd3d91db07e3f7602493ca6c19efb6f975647b2550ef1a6e07aa784fc0f822
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdf630e6da9a50c250b195c0220f16274065c0ee6a92e237a393d31f62769637fdb18fd064b6c479b9bf8c2605eda772ffb9985a37593e187b44020cf49e73b1
|
7
|
+
data.tar.gz: 32d39b254fac069747749c24e093b6e73fbfc09ca740a577e1c71804c8365eda13914f58e79e83947b8550c0f752f9054405e1e4aa4daa464e17ebc7e173dc0d
|
data/.gitignore
CHANGED
data/.rultor.yml
CHANGED
data/Gemfile
CHANGED
@@ -12,7 +12,7 @@ gem 'minitest-reporters', '1.7.1', require: false
|
|
12
12
|
gem 'rake', '13.2.1', require: false
|
13
13
|
gem 'random-port', '~>0.0', require: false
|
14
14
|
gem 'rspec-rails', '7.1.1', require: false
|
15
|
-
gem 'rubocop', '1.
|
15
|
+
gem 'rubocop', '1.73.1', require: false
|
16
16
|
gem 'rubocop-minitest', '>0', require: false
|
17
17
|
gem 'rubocop-performance', '>0', require: false
|
18
18
|
gem 'rubocop-rake', '>0', require: false
|
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 (
|
9
|
+
factbase (= 0.7.4)
|
10
10
|
gli (~> 2.21)
|
11
11
|
iri (~> 0)
|
12
12
|
loog (~> 0)
|
@@ -16,6 +16,7 @@ PATH
|
|
16
16
|
retries (~> 0)
|
17
17
|
tago (~> 0)
|
18
18
|
timeout (~> 0)
|
19
|
+
total (~> 0)
|
19
20
|
typhoeus (~> 1.3)
|
20
21
|
|
21
22
|
GEM
|
@@ -113,7 +114,7 @@ GEM
|
|
113
114
|
erubi (1.13.1)
|
114
115
|
ethon (0.16.0)
|
115
116
|
ffi (>= 1.15.0)
|
116
|
-
factbase (0.7.
|
117
|
+
factbase (0.7.4)
|
117
118
|
backtrace (> 0)
|
118
119
|
decoor (> 0)
|
119
120
|
json (~> 2.7)
|
@@ -253,7 +254,7 @@ GEM
|
|
253
254
|
rspec-mocks (~> 3.13)
|
254
255
|
rspec-support (~> 3.13)
|
255
256
|
rspec-support (3.13.2)
|
256
|
-
rubocop (1.
|
257
|
+
rubocop (1.73.1)
|
257
258
|
json (~> 2.3)
|
258
259
|
language_server-protocol (~> 3.17.0.2)
|
259
260
|
lint_roller (~> 1.1.0)
|
@@ -264,7 +265,7 @@ GEM
|
|
264
265
|
rubocop-ast (>= 1.38.0, < 2.0)
|
265
266
|
ruby-progressbar (~> 1.7)
|
266
267
|
unicode-display_width (>= 2.4.0, < 4.0)
|
267
|
-
rubocop-ast (1.38.
|
268
|
+
rubocop-ast (1.38.1)
|
268
269
|
parser (>= 3.3.1.0)
|
269
270
|
rubocop-minitest (0.37.1)
|
270
271
|
lint_roller (~> 1.1)
|
@@ -297,6 +298,7 @@ GEM
|
|
297
298
|
tago (0.0.2)
|
298
299
|
thor (1.3.2)
|
299
300
|
timeout (0.4.3)
|
301
|
+
total (0.4.1)
|
300
302
|
typhoeus (1.4.1)
|
301
303
|
ethon (>= 0.9.0)
|
302
304
|
tzinfo (2.0.6)
|
@@ -304,7 +306,7 @@ GEM
|
|
304
306
|
unicode-display_width (3.1.4)
|
305
307
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
306
308
|
unicode-emoji (4.0.4)
|
307
|
-
uri (1.0.
|
309
|
+
uri (1.0.3)
|
308
310
|
useragent (0.16.11)
|
309
311
|
w3c_validators (1.3.7)
|
310
312
|
json (>= 1.8)
|
@@ -336,7 +338,7 @@ DEPENDENCIES
|
|
336
338
|
rake (= 13.2.1)
|
337
339
|
random-port (~> 0.0)
|
338
340
|
rspec-rails (= 7.1.1)
|
339
|
-
rubocop (= 1.
|
341
|
+
rubocop (= 1.73.1)
|
340
342
|
rubocop-minitest (> 0)
|
341
343
|
rubocop-performance (> 0)
|
342
344
|
rubocop-rake (> 0)
|
data/README.md
CHANGED
@@ -86,7 +86,7 @@ be present in the message of the exception being raised.
|
|
86
86
|
|
87
87
|
Read
|
88
88
|
[these guidelines](https://www.yegor256.com/2014/04/15/github-guidelines.html).
|
89
|
-
Make sure
|
89
|
+
Make sure your build is green before you contribute
|
90
90
|
your pull request. You will need to have
|
91
91
|
[Ruby](https://www.ruby-lang.org/en/) 3.0+ and
|
92
92
|
[Bundler](https://bundler.io/) installed. Then:
|
data/bin/judges
CHANGED
@@ -7,8 +7,9 @@ $stdout.sync = true
|
|
7
7
|
|
8
8
|
require 'gli'
|
9
9
|
require 'loog'
|
10
|
+
require 'tago'
|
10
11
|
require 'time'
|
11
|
-
require '
|
12
|
+
require 'total'
|
12
13
|
require_relative '../lib/judges'
|
13
14
|
|
14
15
|
Encoding.default_external = Encoding::UTF_8
|
@@ -19,8 +20,10 @@ class JudgesGLI extend GLI::App
|
|
19
20
|
def self.run_it(cmd, ruby)
|
20
21
|
cmd.action do |global, options, args|
|
21
22
|
require_relative "../lib/judges/commands/#{ruby}"
|
23
|
+
start = Time.now
|
22
24
|
@@loog.debug("Running '#{ruby}' command...")
|
23
25
|
Object.const_get("Judges::#{ruby.capitalize}").new(@@loog).run(options, args)
|
26
|
+
@@loog.debug("Command '#{ruby}' finished in #{start.ago}")
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
@@ -36,16 +39,25 @@ class JudgesGLI extend GLI::App
|
|
36
39
|
|
37
40
|
desc 'Make it more verbose, logging as much as possible'
|
38
41
|
switch([:v, :verbose])
|
42
|
+
desc 'Version of Factbase to use'
|
43
|
+
flag([:factbase], type: String)
|
39
44
|
|
40
45
|
pre do |global, command, options, args|
|
41
46
|
if global[:verbose]
|
42
47
|
@@loog = Loog::VERBOSE
|
43
48
|
end
|
44
49
|
@@loog.debug("Judges #{Judges::VERSION}")
|
50
|
+
if global[:factbase]
|
51
|
+
ver = global[:factbase]
|
52
|
+
@@loog.debug("Factbase version to be used: '#{ver}' (set via --factbase)")
|
53
|
+
gem 'factbase', ver
|
54
|
+
end
|
55
|
+
require 'factbase'
|
45
56
|
@@loog.debug("Factbase #{Factbase::VERSION}")
|
46
57
|
@@loog.debug("Ruby: #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}")
|
47
58
|
@@loog.debug("Current directory: #{Dir.getwd}")
|
48
59
|
@@loog.debug("Time: #{Time.now.utc.iso8601}")
|
60
|
+
@@loog.debug("Total memory: #{Total::Mem.new.bytes / (1024 * 1024)}Mb")
|
49
61
|
true
|
50
62
|
end
|
51
63
|
|
@@ -55,6 +67,8 @@ class JudgesGLI extend GLI::App
|
|
55
67
|
c.flag([:o, :option], multiple: true, arg_name: '<key=value>')
|
56
68
|
c.desc 'File with options, one k=v pair per line'
|
57
69
|
c.flag([:'options-file'])
|
70
|
+
c.desc 'Name of the judge to run (directory name)'
|
71
|
+
c.flag([:judge], multiple: true)
|
58
72
|
c.desc 'The location of a Ruby library (directory with .rb files to include)'
|
59
73
|
c.flag([:lib])
|
60
74
|
c.desc 'Maximum time in seconds to spend on every judge (forcefully terminate if over time)'
|
@@ -72,6 +86,8 @@ class JudgesGLI extend GLI::App
|
|
72
86
|
|
73
87
|
desc 'Evaluate a single Ruby expression on the factbase'
|
74
88
|
command :eval do |c|
|
89
|
+
c.desc 'Use default logging facility'
|
90
|
+
c.switch([:log], default_value: true)
|
75
91
|
run_it(c, 'eval')
|
76
92
|
end
|
77
93
|
|
@@ -82,6 +98,8 @@ class JudgesGLI extend GLI::App
|
|
82
98
|
|
83
99
|
desc 'Import YAML into a factbase'
|
84
100
|
command :import do |c|
|
101
|
+
c.desc 'Use default logging facility'
|
102
|
+
c.switch([:log], default_value: true)
|
85
103
|
run_it(c, 'import')
|
86
104
|
end
|
87
105
|
|
data/features/test.feature
CHANGED
@@ -15,6 +15,11 @@ Feature: Test
|
|
15
15
|
Then Stdout contains "All 1 judge(s) and 1 tests passed"
|
16
16
|
And Exit code is zero
|
17
17
|
|
18
|
+
Scenario: Factbase version can be set
|
19
|
+
When I run bin/judges with "--factbase 0.7.4 --verbose test --judge guess ./fixtures"
|
20
|
+
Then Exit code is zero
|
21
|
+
And Stdout contains "Factbase version to be used: '0.7.4'"
|
22
|
+
|
18
23
|
Scenario: Simple test of no judges
|
19
24
|
Given I run bin/judges with "test --judge absent_for_sure ./fixtures"
|
20
25
|
Then Exit code is zero
|
data/features/update.feature
CHANGED
@@ -44,7 +44,7 @@ Feature: Update
|
|
44
44
|
$fb.insert.foo = 1
|
45
45
|
"""
|
46
46
|
Then I run bin/judges with "--verbose update --timeout 1 --quiet . foo.fb"
|
47
|
-
Then Stdout contains "
|
47
|
+
Then Stdout contains "execution expired"
|
48
48
|
Then Stdout contains "1 judge(s) processed"
|
49
49
|
Then Stdout contains "Update finished in 1 cycle(s), did 0i/0d/0a"
|
50
50
|
And Exit code is zero
|
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.
|
12
|
+
s.version = '0.36.0'
|
13
13
|
s.license = 'MIT'
|
14
14
|
s.summary = 'Command-Line Tool for a Factbase'
|
15
15
|
s.description =
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.add_dependency 'baza.rb', '~>0'
|
30
30
|
s.add_dependency 'concurrent-ruby', '~>1.2'
|
31
31
|
s.add_dependency 'elapsed', '~>0'
|
32
|
-
s.add_dependency 'factbase', '
|
32
|
+
s.add_dependency 'factbase', '0.7.4'
|
33
33
|
s.add_dependency 'gli', '~>2.21'
|
34
34
|
s.add_dependency 'iri', '~>0'
|
35
35
|
s.add_dependency 'loog', '~>0'
|
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
|
|
39
39
|
s.add_dependency 'retries', '~>0'
|
40
40
|
s.add_dependency 'tago', '~>0'
|
41
41
|
s.add_dependency 'timeout', '~>0'
|
42
|
+
s.add_dependency 'total', '~>0'
|
42
43
|
s.add_dependency 'typhoeus', '~>1.3'
|
43
44
|
s.metadata['rubygems_mfa_required'] = 'true'
|
44
45
|
end
|
data/lib/judges/commands/eval.rb
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
# SPDX-License-Identifier: MIT
|
5
5
|
|
6
6
|
require 'elapsed'
|
7
|
-
require 'factbase/looged'
|
8
7
|
require_relative '../../judges'
|
9
8
|
require_relative '../../judges/impex'
|
10
9
|
|
@@ -21,12 +20,15 @@ class Judges::Eval
|
|
21
20
|
@loog = loog
|
22
21
|
end
|
23
22
|
|
24
|
-
def run(
|
23
|
+
def run(opts, args)
|
25
24
|
raise 'Exactly two arguments required' unless args.size == 2
|
26
25
|
impex = Judges::Impex.new(@loog, args[0])
|
27
26
|
elapsed(@loog, level: Logger::INFO) do
|
28
27
|
$fb = impex.import(strict: false)
|
29
|
-
|
28
|
+
if opts['log']
|
29
|
+
require 'factbase/logged'
|
30
|
+
$fb = Factbase::Logged.new($fb, @loog)
|
31
|
+
end
|
30
32
|
expr = args[1]
|
31
33
|
# rubocop:disable Security/Eval
|
32
34
|
eval(expr)
|
@@ -5,7 +5,6 @@
|
|
5
5
|
|
6
6
|
require 'elapsed'
|
7
7
|
require 'time'
|
8
|
-
require 'factbase/looged'
|
9
8
|
require_relative '../../judges'
|
10
9
|
require_relative '../../judges/impex'
|
11
10
|
require_relative '../../judges/to_rel'
|
@@ -23,7 +22,7 @@ class Judges::Import
|
|
23
22
|
@loog = loog
|
24
23
|
end
|
25
24
|
|
26
|
-
def run(
|
25
|
+
def run(opts, args)
|
27
26
|
raise 'Exactly two arguments required' unless args.size == 2
|
28
27
|
raise "File not found #{args[0].to_rel}" unless File.exist?(args[0])
|
29
28
|
elapsed(@loog, level: Logger::INFO) do
|
@@ -31,7 +30,10 @@ class Judges::Import
|
|
31
30
|
@loog.info("YAML loaded from #{args[0].to_rel} (#{yaml.size} facts)")
|
32
31
|
impex = Judges::Impex.new(@loog, args[1])
|
33
32
|
fb = impex.import(strict: false)
|
34
|
-
|
33
|
+
if opts['log']
|
34
|
+
require 'factbase/logged'
|
35
|
+
fb = Factbase::Logged.new(fb, @loog)
|
36
|
+
end
|
35
37
|
yaml.each do |i|
|
36
38
|
f = fb.insert
|
37
39
|
i.each do |p, v|
|
data/lib/judges/commands/test.rb
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
require 'nokogiri'
|
7
7
|
require 'factbase'
|
8
8
|
require 'backtrace'
|
9
|
-
require 'factbase/looged'
|
10
9
|
require 'factbase/to_xml'
|
11
10
|
require 'elapsed'
|
12
11
|
require_relative '../../judges'
|
@@ -92,7 +91,9 @@ class Judges::Test
|
|
92
91
|
'Time summaries:',
|
93
92
|
format(fmt, 'Script', 'Seconds'),
|
94
93
|
format(fmt, '---', '---'),
|
95
|
-
times.
|
94
|
+
times.sort_by { |_, v| v }.reverse.map do |script, sec|
|
95
|
+
format(fmt, script, format('%.3f', sec))
|
96
|
+
end.join("\n ")
|
96
97
|
].join("\n ")
|
97
98
|
)
|
98
99
|
end
|
@@ -147,7 +148,10 @@ class Judges::Test
|
|
147
148
|
runs = opts['runs'] || yaml['runs'] || 1
|
148
149
|
(1..runs).each do |r|
|
149
150
|
fbx = fb
|
150
|
-
|
151
|
+
if opts['log']
|
152
|
+
require 'factbase/logged'
|
153
|
+
fbx = Factbase::Logged.new(fb, @loog)
|
154
|
+
end
|
151
155
|
expected_failure = yaml['expected_failure']
|
152
156
|
begin
|
153
157
|
judge.run(fbx, {}, {}, options)
|
@@ -5,15 +5,14 @@
|
|
5
5
|
|
6
6
|
require 'backtrace'
|
7
7
|
require 'elapsed'
|
8
|
-
require 'factbase/looged'
|
9
8
|
require 'factbase/churn'
|
10
9
|
require 'tago'
|
11
10
|
require 'timeout'
|
12
11
|
require_relative '../../judges'
|
13
|
-
require_relative '../../judges/
|
12
|
+
require_relative '../../judges/impex'
|
14
13
|
require_relative '../../judges/judges'
|
15
14
|
require_relative '../../judges/options'
|
16
|
-
require_relative '../../judges/
|
15
|
+
require_relative '../../judges/to_rel'
|
17
16
|
|
18
17
|
# The +update+ command.
|
19
18
|
#
|
@@ -39,7 +38,10 @@ class Judges::Update
|
|
39
38
|
start = Time.now
|
40
39
|
impex = Judges::Impex.new(@loog, args[1])
|
41
40
|
fb = impex.import(strict: false)
|
42
|
-
|
41
|
+
if opts['log']
|
42
|
+
require 'factbase/logged'
|
43
|
+
fb = Factbase::Logged.new(fb, @loog)
|
44
|
+
end
|
43
45
|
options = Judges::Options.new(opts['option'])
|
44
46
|
if opts['options-file']
|
45
47
|
options += Judges::Options.new(
|
@@ -111,12 +113,13 @@ class Judges::Update
|
|
111
113
|
global = {}
|
112
114
|
elapsed(@loog, level: Logger::INFO) do
|
113
115
|
done =
|
114
|
-
judges.each_with_index do |
|
115
|
-
|
116
|
+
judges.each_with_index do |judge, i|
|
117
|
+
next unless include?(opts, judge.name)
|
118
|
+
@loog.info("\nš Running #{judge.name} (##{i}) at #{judge.dir.to_rel} (#{start.ago} already)...")
|
116
119
|
elapsed(@loog, level: Logger::INFO) do
|
117
|
-
c = one_judge(opts, fb,
|
120
|
+
c = one_judge(opts, fb, judge, global, options, errors)
|
118
121
|
churn += c
|
119
|
-
throw :"š The '#{
|
122
|
+
throw :"š The '#{judge.name}' judge #{c} out of #{fb.size}"
|
120
123
|
end
|
121
124
|
rescue StandardError, SyntaxError => e
|
122
125
|
@loog.warn(Backtrace.new(e))
|
@@ -152,4 +155,10 @@ class Judges::Update
|
|
152
155
|
throw :"š The '#{judge.name}' judge timed out: #{e.message}"
|
153
156
|
end
|
154
157
|
end
|
158
|
+
|
159
|
+
def include?(opts, name)
|
160
|
+
judges = opts['judge'] || []
|
161
|
+
return true if judges.empty?
|
162
|
+
judges.any?(name)
|
163
|
+
end
|
155
164
|
end
|
data/lib/judges/judge.rb
CHANGED
@@ -55,6 +55,11 @@ class Judges::Judge
|
|
55
55
|
elapsed(@loog, intro: "#{$judge} finished", level: Logger::INFO) do
|
56
56
|
load(s, true)
|
57
57
|
$fb.churn
|
58
|
+
# rubocop:disable Lint/RescueException
|
59
|
+
rescue Exception => e
|
60
|
+
# rubocop:enable Lint/RescueException
|
61
|
+
@loog.error(Backtrace.new(e))
|
62
|
+
raise e.message
|
58
63
|
ensure
|
59
64
|
$fb = $judge = $options = $loog = nil
|
60
65
|
end
|
data/lib/judges.rb
CHANGED
@@ -28,6 +28,17 @@ class TestUpdate < Minitest::Test
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
+
def test_with_only_one_judge
|
32
|
+
Dir.mktmpdir do |d|
|
33
|
+
save_it(File.join(d, 'foo/foo.rb'), 'return if $fb.size > 2; $fb.insert')
|
34
|
+
save_it(File.join(d, 'bar/bar.rb'), '-&- bug here -&-')
|
35
|
+
file = File.join(d, 'base.fb')
|
36
|
+
Judges::Update.new(Loog::NULL).run({ 'judge' => ['foo'] }, [d, file])
|
37
|
+
assert_path_exists(file)
|
38
|
+
assert_raises(StandardError) { Judges::Update.new(Loog::NULL).run({}, [d, file]) }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
31
42
|
def test_cancels_slow_judge
|
32
43
|
Dir.mktmpdir do |d|
|
33
44
|
save_it(File.join(d, 'foo/foo.rb'), 'sleep 10; $fb.insert.foo = 1')
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: judges
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.36.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-
|
10
|
+
date: 2025-03-03 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: backtrace
|
@@ -70,16 +69,16 @@ dependencies:
|
|
70
69
|
name: factbase
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
72
71
|
requirements:
|
73
|
-
- -
|
72
|
+
- - '='
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.7.
|
74
|
+
version: 0.7.4
|
76
75
|
type: :runtime
|
77
76
|
prerelease: false
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
79
78
|
requirements:
|
80
|
-
- -
|
79
|
+
- - '='
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.7.
|
81
|
+
version: 0.7.4
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
83
|
name: gli
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,6 +205,20 @@ dependencies:
|
|
206
205
|
- - "~>"
|
207
206
|
- !ruby/object:Gem::Version
|
208
207
|
version: '0'
|
208
|
+
- !ruby/object:Gem::Dependency
|
209
|
+
name: total
|
210
|
+
requirement: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - "~>"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
type: :runtime
|
216
|
+
prerelease: false
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
209
222
|
- !ruby/object:Gem::Dependency
|
210
223
|
name: typhoeus
|
211
224
|
requirement: !ruby/object:Gem::Requirement
|
@@ -318,7 +331,6 @@ licenses:
|
|
318
331
|
- MIT
|
319
332
|
metadata:
|
320
333
|
rubygems_mfa_required: 'true'
|
321
|
-
post_install_message:
|
322
334
|
rdoc_options:
|
323
335
|
- "--charset=UTF-8"
|
324
336
|
require_paths:
|
@@ -334,8 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
334
346
|
- !ruby/object:Gem::Version
|
335
347
|
version: '0'
|
336
348
|
requirements: []
|
337
|
-
rubygems_version: 3.
|
338
|
-
signing_key:
|
349
|
+
rubygems_version: 3.6.2
|
339
350
|
specification_version: 4
|
340
351
|
summary: Command-Line Tool for a Factbase
|
341
352
|
test_files: []
|