judges 0.15.3 → 0.15.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/Gemfile.lock +17 -15
- data/assets/index.xsl +10 -3
- data/judges.gemspec +13 -13
- data/lib/judges/baza.rb +10 -8
- data/lib/judges/commands/update.rb +2 -0
- data/lib/judges/impex.rb +14 -7
- data/lib/judges/judge.rb +2 -2
- data/lib/judges.rb +1 -1
- data/test/commands/test_update.rb +3 -2
- data/test/test_baza.rb +27 -3
- metadata +30 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '085c4d08e376f51c6a9cae8e973f27a4cf7c0b418679e94643a6f8a336c94f92'
|
4
|
+
data.tar.gz: 8cb2893668c8ac8d41512c4c26904ea77e23d326b01d4307f7548b33853f682b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41a4b6dc87cd1d374b02d4cc220c82e89cb2ddfd67414af0061e5470de392a2b5ee666b3a4be91fcbcbdfa72fcc30dc8e9789f5355a9bc7e972188dd13a35adb
|
7
|
+
data.tar.gz: 3e4f59993b5b96456dba23339c9f3c1624e8aa010d0f45379576cfdde5ce55681a1f7e4f15013d158af4a136b06946f0396bd0593ba76e2e47b3973765f69a72
|
data/Gemfile
CHANGED
@@ -27,10 +27,11 @@ gem 'cucumber', '9.2.0', require: false
|
|
27
27
|
gem 'minitest', '5.24.1', require: false
|
28
28
|
gem 'net-ping', '2.0.8', require: false
|
29
29
|
gem 'rake', '13.2.1', require: false
|
30
|
+
gem 'random-port', '~>0.0', require: false
|
30
31
|
gem 'rspec-rails', '6.1.3', require: false
|
31
|
-
gem 'rubocop', '1.
|
32
|
+
gem 'rubocop', '1.65.0', require: false
|
32
33
|
gem 'rubocop-performance', '1.21.1', require: false
|
33
|
-
gem 'rubocop-rspec', '3.0.
|
34
|
+
gem 'rubocop-rspec', '3.0.2', require: false
|
34
35
|
gem 'simplecov', '0.22.0', require: false
|
35
36
|
gem 'simplecov-cobertura', '2.1.0', require: false
|
36
37
|
gem 'webmock', '3.23.1', require: false
|
data/Gemfile.lock
CHANGED
@@ -2,17 +2,17 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
judges (0.0.0)
|
5
|
-
backtrace
|
5
|
+
backtrace
|
6
6
|
concurrent-ruby (~> 1.2)
|
7
|
-
factbase
|
7
|
+
factbase
|
8
8
|
gli (~> 2.21)
|
9
|
-
iri
|
10
|
-
loog
|
9
|
+
iri
|
10
|
+
loog
|
11
11
|
moments (~> 0.3)
|
12
12
|
nokogiri (~> 1.10)
|
13
|
-
others
|
14
|
-
retries
|
15
|
-
tago
|
13
|
+
others
|
14
|
+
retries
|
15
|
+
tago
|
16
16
|
typhoeus (~> 1.3)
|
17
17
|
|
18
18
|
GEM
|
@@ -110,7 +110,7 @@ GEM
|
|
110
110
|
i18n (1.14.5)
|
111
111
|
concurrent-ruby (~> 1.0)
|
112
112
|
io-console (0.7.2)
|
113
|
-
irb (1.
|
113
|
+
irb (1.14.0)
|
114
114
|
rdoc (>= 4.0.0)
|
115
115
|
reline (>= 0.4.2)
|
116
116
|
iri (0.8.0)
|
@@ -142,14 +142,14 @@ GEM
|
|
142
142
|
racc (~> 1.4)
|
143
143
|
others (0.0.3)
|
144
144
|
parallel (1.25.1)
|
145
|
-
parser (3.3.
|
145
|
+
parser (3.3.4.0)
|
146
146
|
ast (~> 2.4.1)
|
147
147
|
racc
|
148
148
|
psych (5.1.2)
|
149
149
|
stringio
|
150
150
|
public_suffix (6.0.0)
|
151
151
|
racc (1.8.0)
|
152
|
-
rack (3.1.
|
152
|
+
rack (3.1.7)
|
153
153
|
rack-session (2.0.0)
|
154
154
|
rack (>= 3.0.0)
|
155
155
|
rack-test (2.1.0)
|
@@ -174,6 +174,7 @@ GEM
|
|
174
174
|
zeitwerk (~> 2.6)
|
175
175
|
rainbow (3.1.1)
|
176
176
|
rake (13.2.1)
|
177
|
+
random-port (0.7.0)
|
177
178
|
rdoc (6.7.0)
|
178
179
|
psych (>= 4.0.0)
|
179
180
|
regexp_parser (2.9.2)
|
@@ -199,13 +200,13 @@ GEM
|
|
199
200
|
rspec-mocks (~> 3.13)
|
200
201
|
rspec-support (~> 3.13)
|
201
202
|
rspec-support (3.13.1)
|
202
|
-
rubocop (1.
|
203
|
+
rubocop (1.65.0)
|
203
204
|
json (~> 2.3)
|
204
205
|
language_server-protocol (>= 3.17.0)
|
205
206
|
parallel (~> 1.10)
|
206
207
|
parser (>= 3.3.0.2)
|
207
208
|
rainbow (>= 2.2.2, < 4.0)
|
208
|
-
regexp_parser (>=
|
209
|
+
regexp_parser (>= 2.4, < 3.0)
|
209
210
|
rexml (>= 3.2.5, < 4.0)
|
210
211
|
rubocop-ast (>= 1.31.1, < 2.0)
|
211
212
|
ruby-progressbar (~> 1.7)
|
@@ -215,7 +216,7 @@ GEM
|
|
215
216
|
rubocop-performance (1.21.1)
|
216
217
|
rubocop (>= 1.48.1, < 2.0)
|
217
218
|
rubocop-ast (>= 1.31.1, < 2.0)
|
218
|
-
rubocop-rspec (3.0.
|
219
|
+
rubocop-rspec (3.0.2)
|
219
220
|
rubocop (~> 1.61)
|
220
221
|
ruby-progressbar (1.13.0)
|
221
222
|
simplecov (0.22.0)
|
@@ -262,10 +263,11 @@ DEPENDENCIES
|
|
262
263
|
minitest (= 5.24.1)
|
263
264
|
net-ping (= 2.0.8)
|
264
265
|
rake (= 13.2.1)
|
266
|
+
random-port (~> 0.0)
|
265
267
|
rspec-rails (= 6.1.3)
|
266
|
-
rubocop (= 1.
|
268
|
+
rubocop (= 1.65.0)
|
267
269
|
rubocop-performance (= 1.21.1)
|
268
|
-
rubocop-rspec (= 3.0.
|
270
|
+
rubocop-rspec (= 3.0.2)
|
269
271
|
simplecov (= 0.22.0)
|
270
272
|
simplecov-cobertura (= 2.1.0)
|
271
273
|
webmock (= 3.23.1)
|
data/assets/index.xsl
CHANGED
@@ -40,7 +40,14 @@ SOFTWARE.
|
|
40
40
|
<head>
|
41
41
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
42
42
|
<title>
|
43
|
-
<xsl:
|
43
|
+
<xsl:choose>
|
44
|
+
<xsl:when test="$title = ''">
|
45
|
+
<xsl:text>factbase</xsl:text>
|
46
|
+
</xsl:when>
|
47
|
+
<xsl:otherwise>
|
48
|
+
<xsl:value-of select="$title"/>
|
49
|
+
</xsl:otherwise>
|
50
|
+
</xsl:choose>
|
44
51
|
</title>
|
45
52
|
<meta charset="UTF-8"/>
|
46
53
|
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
@@ -170,8 +177,8 @@ SOFTWARE.
|
|
170
177
|
<td>
|
171
178
|
<xsl:for-each select="$f/*">
|
172
179
|
<xsl:text> </xsl:text>
|
173
|
-
<xsl:variable name="visible" select="string-length(substring-before(concat(',', $hidden, ','), concat(name(), ','))) = 0"/>
|
174
|
-
<xsl:if test="string-length(substring-before(concat(',', $columns, ','), concat(name(), ','))) = 0">
|
180
|
+
<xsl:variable name="visible" select="string-length(substring-before(concat(',', $hidden, ','), concat(',', name(), ','))) = 0"/>
|
181
|
+
<xsl:if test="string-length(substring-before(concat(',', $columns, ','), concat(',', name(), ','))) = 0">
|
175
182
|
<xsl:choose>
|
176
183
|
<xsl:when test="$visible">
|
177
184
|
<xsl:value-of select="name()"/>
|
data/judges.gemspec
CHANGED
@@ -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.15.
|
29
|
+
s.version = '0.15.5'
|
30
30
|
s.license = 'MIT'
|
31
31
|
s.summary = 'Command-Line Tool for a Factbase'
|
32
32
|
s.description =
|
@@ -42,17 +42,17 @@ Gem::Specification.new do |s|
|
|
42
42
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
43
43
|
s.rdoc_options = ['--charset=UTF-8']
|
44
44
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
45
|
-
s.
|
46
|
-
s.
|
47
|
-
s.
|
48
|
-
s.
|
49
|
-
s.
|
50
|
-
s.
|
51
|
-
s.
|
52
|
-
s.
|
53
|
-
s.
|
54
|
-
s.
|
55
|
-
s.
|
56
|
-
s.
|
45
|
+
s.add_dependency 'backtrace'
|
46
|
+
s.add_dependency 'concurrent-ruby', '~>1.2'
|
47
|
+
s.add_dependency 'factbase'
|
48
|
+
s.add_dependency 'gli', '~>2.21'
|
49
|
+
s.add_dependency 'iri'
|
50
|
+
s.add_dependency 'loog'
|
51
|
+
s.add_dependency 'moments', '~>0.3'
|
52
|
+
s.add_dependency 'nokogiri', '~>1.10'
|
53
|
+
s.add_dependency 'others'
|
54
|
+
s.add_dependency 'retries'
|
55
|
+
s.add_dependency 'tago'
|
56
|
+
s.add_dependency 'typhoeus', '~>1.3'
|
57
57
|
s.metadata['rubygems_mfa_required'] = 'true'
|
58
58
|
end
|
data/lib/judges/baza.rb
CHANGED
@@ -160,12 +160,14 @@ class Judges::Baza
|
|
160
160
|
def name_exists?(name)
|
161
161
|
exists = 0
|
162
162
|
elapsed(@loog) do
|
163
|
-
ret =
|
164
|
-
|
165
|
-
|
166
|
-
|
163
|
+
ret = with_retries do
|
164
|
+
checked(
|
165
|
+
Typhoeus::Request.get(
|
166
|
+
home.append('exists').append(name).to_s,
|
167
|
+
headers:
|
168
|
+
)
|
167
169
|
)
|
168
|
-
|
170
|
+
end
|
169
171
|
exists = ret.body == 'yes'
|
170
172
|
throw :"The name \"#{name}\" #{exists ? 'exists' : "doesn't exist"} at #{@host}"
|
171
173
|
end
|
@@ -176,9 +178,9 @@ class Judges::Baza
|
|
176
178
|
|
177
179
|
def headers
|
178
180
|
{
|
179
|
-
'User-Agent'
|
180
|
-
Connection
|
181
|
-
'X-Zerocracy-Token'
|
181
|
+
'User-Agent' => "judges #{Judges::VERSION}",
|
182
|
+
'Connection' => 'close',
|
183
|
+
'X-Zerocracy-Token' => @token
|
182
184
|
}
|
183
185
|
end
|
184
186
|
|
@@ -43,6 +43,7 @@ class Judges::Update
|
|
43
43
|
raise 'Exactly two arguments required' unless args.size == 2
|
44
44
|
dir = args[0]
|
45
45
|
raise "The directory is absent: #{dir.to_rel}" unless File.exist?(dir)
|
46
|
+
start = Time.now
|
46
47
|
impex = Judges::Impex.new(@loog, args[1])
|
47
48
|
fb = impex.import(strict: false)
|
48
49
|
fb = Factbase::Looged.new(fb, @loog) if opts['log']
|
@@ -82,6 +83,7 @@ class Judges::Update
|
|
82
83
|
f.what = 'judges-summary'
|
83
84
|
f.when = Time.now
|
84
85
|
f.version = Judges::VERSION
|
86
|
+
f.seconds = Time.now - start
|
85
87
|
f.cycles = c
|
86
88
|
f.added = churn.added.size
|
87
89
|
f.removed = churn.removed.size
|
data/lib/judges/impex.rb
CHANGED
@@ -24,6 +24,7 @@ require 'factbase'
|
|
24
24
|
require 'fileutils'
|
25
25
|
require_relative '../judges'
|
26
26
|
require_relative '../judges/to_rel'
|
27
|
+
require_relative '../judges/elapsed'
|
27
28
|
|
28
29
|
# Import/Export of factbases.
|
29
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
@@ -38,8 +39,10 @@ class Judges::Impex
|
|
38
39
|
def import(strict: true)
|
39
40
|
fb = Factbase.new
|
40
41
|
if File.exist?(@file)
|
41
|
-
|
42
|
-
|
42
|
+
elapsed(@loog) do
|
43
|
+
fb.import(File.binread(@file))
|
44
|
+
throw :"The factbase imported from #{@file.to_rel} (#{File.size(@file)} bytes, #{fb.size} facts)"
|
45
|
+
end
|
43
46
|
else
|
44
47
|
raise "The factbase is absent at #{@file.to_rel}" if strict
|
45
48
|
@loog.info("Nothing to import from #{@file.to_rel} (file not found)")
|
@@ -49,13 +52,17 @@ class Judges::Impex
|
|
49
52
|
|
50
53
|
def import_to(fb)
|
51
54
|
raise "The factbase is absent at #{@file.to_rel}" unless File.exist?(@file)
|
52
|
-
|
53
|
-
|
55
|
+
elapsed(@loog) do
|
56
|
+
fb.import(File.binread(@file))
|
57
|
+
throw :"The factbase loaded from #{@file.to_rel} (#{File.size(@file)} bytes, #{fb.size} facts)"
|
58
|
+
end
|
54
59
|
end
|
55
60
|
|
56
61
|
def export(fb)
|
57
|
-
|
58
|
-
|
59
|
-
|
62
|
+
elapsed(@loog) do
|
63
|
+
FileUtils.mkdir_p(File.dirname(@file))
|
64
|
+
File.binwrite(@file, fb.export)
|
65
|
+
throw :"Factbase exported to #{@file.to_rel} (#{File.size(@file)} bytes, #{fb.size} facts)"
|
66
|
+
end
|
60
67
|
end
|
61
68
|
end
|
data/lib/judges/judge.rb
CHANGED
@@ -45,7 +45,7 @@ class Judges::Judge
|
|
45
45
|
$loog = @loog
|
46
46
|
$global = global
|
47
47
|
$local = local
|
48
|
-
$valve = FakeValve.new
|
48
|
+
$valve = FakeValve.new unless defined?($valve)
|
49
49
|
unless @lib.nil?
|
50
50
|
raise "Lib dir #{@lib.to_rel} is absent" unless File.exist?(@lib)
|
51
51
|
raise "Lib #{@lib.to_rel} is not a directory" unless File.directory?(@lib)
|
@@ -81,7 +81,7 @@ class Judges::Judge
|
|
81
81
|
|
82
82
|
# Fake valve.
|
83
83
|
class FakeValve
|
84
|
-
def enter(
|
84
|
+
def enter(_badge, _why: '')
|
85
85
|
yield
|
86
86
|
end
|
87
87
|
end
|
data/lib/judges.rb
CHANGED
@@ -92,8 +92,9 @@ class TestUpdate < Minitest::Test
|
|
92
92
|
fb.import(File.binread(file))
|
93
93
|
sums = fb.query('(eq what "judges-summary")').each.to_a
|
94
94
|
assert_equal(1, sums.size)
|
95
|
-
|
96
|
-
assert(
|
95
|
+
sum = sums.first
|
96
|
+
assert(sum.error.include?('unexpected global variable'), sum.error)
|
97
|
+
assert(!sum.seconds.nil?)
|
97
98
|
end
|
98
99
|
end
|
99
100
|
end
|
data/test/test_baza.rb
CHANGED
@@ -23,6 +23,8 @@
|
|
23
23
|
require 'minitest/autorun'
|
24
24
|
require 'webmock/minitest'
|
25
25
|
require 'loog'
|
26
|
+
require 'socket'
|
27
|
+
require 'random-port'
|
26
28
|
require_relative '../lib/judges'
|
27
29
|
require_relative '../lib/judges/baza'
|
28
30
|
|
@@ -44,9 +46,9 @@ class TestBaza < Minitest::Test
|
|
44
46
|
|
45
47
|
def test_simple_recent_check
|
46
48
|
WebMock.disable_net_connect!
|
47
|
-
stub_request(:get, 'https://example.org/recent/simple.txt')
|
48
|
-
|
49
|
-
|
49
|
+
stub_request(:get, 'https://example.org/recent/simple.txt')
|
50
|
+
.with(body: '', headers: { 'User-Agent' => /^judges .*$/ })
|
51
|
+
.to_return(status: 200, body: '42')
|
50
52
|
assert_equal(
|
51
53
|
42,
|
52
54
|
Judges::Baza.new('example.org', 443, '000').recent('simple')
|
@@ -72,4 +74,26 @@ class TestBaza < Minitest::Test
|
|
72
74
|
Judges::Baza.new('example.org', 443, '000').pull(333).start_with?('hello')
|
73
75
|
)
|
74
76
|
end
|
77
|
+
|
78
|
+
def test_real_http
|
79
|
+
WebMock.enable_net_connect!
|
80
|
+
req = []
|
81
|
+
host = '127.0.0.1'
|
82
|
+
RandomPort::Pool::SINGLETON.acquire do |port|
|
83
|
+
server = TCPServer.new(host, port)
|
84
|
+
t = Thread.new do
|
85
|
+
socket = server.accept
|
86
|
+
loop do
|
87
|
+
line = socket.gets
|
88
|
+
break if line == "\r\n"
|
89
|
+
req << line
|
90
|
+
end
|
91
|
+
socket.puts "HTTP/1.1 200 OK\r\nContent-Length: 3\r\n\r\nyes"
|
92
|
+
socket.close
|
93
|
+
end
|
94
|
+
Judges::Baza.new(host, port, '0000', ssl: false, timeout: 1).name_exists?('simple')
|
95
|
+
t.join
|
96
|
+
end
|
97
|
+
assert(req.include?("User-Agent: judges #{Judges::VERSION}\r\n"))
|
98
|
+
end
|
75
99
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: judges
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.5
|
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-07-
|
11
|
+
date: 2024-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: concurrent-ruby
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: factbase
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: gli
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,30 +70,30 @@ dependencies:
|
|
70
70
|
name: iri
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: loog
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: moments
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,44 +126,44 @@ dependencies:
|
|
126
126
|
name: others
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0
|
131
|
+
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0
|
138
|
+
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: retries
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0
|
145
|
+
version: '0'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0
|
152
|
+
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: tago
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0
|
159
|
+
version: '0'
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0
|
166
|
+
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: typhoeus
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|