baza.rb 0.0.7 → 0.0.8
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/Gemfile.lock +22 -18
- data/baza.rb.gemspec +1 -0
- data/lib/baza-rb/version.rb +5 -1
- data/lib/baza-rb.rb +98 -14
- data/test/test_baza-rb.rb +19 -2
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a4854042d95be4cff78c5fa7d534c754025b0fea372586f6f782c755df332432
|
|
4
|
+
data.tar.gz: bffcee29566e8959085d7948365eebd8cfb399c248644f494b73e82de0c65734
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7e0c79a6f30febc5a408c7d63bab7606cdb9881c0bfc708fbd4ca7e5a60df14fe0d3677ec35c6fcf38210a23292fbe873bf51befd600040cfa42148170a8038
|
|
7
|
+
data.tar.gz: 027042ba55cd31a9ddea329efb085499deb342ba117a6a42782d1f328e74efb1164d12ae3329e7af0b4562705703f8af52b8057fa1012f0a8c2f9e488d3ad383
|
data/Gemfile.lock
CHANGED
|
@@ -3,6 +3,7 @@ PATH
|
|
|
3
3
|
specs:
|
|
4
4
|
baza.rb (0.0.0)
|
|
5
5
|
backtrace (> 0)
|
|
6
|
+
elapsed (> 0)
|
|
6
7
|
faraday (> 0)
|
|
7
8
|
faraday-http-cache (> 0)
|
|
8
9
|
faraday-multipart (> 0)
|
|
@@ -16,9 +17,9 @@ PATH
|
|
|
16
17
|
GEM
|
|
17
18
|
remote: https://rubygems.org/
|
|
18
19
|
specs:
|
|
19
|
-
actionpack (7.2.
|
|
20
|
-
actionview (= 7.2.
|
|
21
|
-
activesupport (= 7.2.
|
|
20
|
+
actionpack (7.2.1)
|
|
21
|
+
actionview (= 7.2.1)
|
|
22
|
+
activesupport (= 7.2.1)
|
|
22
23
|
nokogiri (>= 1.8.5)
|
|
23
24
|
racc
|
|
24
25
|
rack (>= 2.2.4, < 3.2)
|
|
@@ -27,13 +28,13 @@ GEM
|
|
|
27
28
|
rails-dom-testing (~> 2.2)
|
|
28
29
|
rails-html-sanitizer (~> 1.6)
|
|
29
30
|
useragent (~> 0.16)
|
|
30
|
-
actionview (7.2.
|
|
31
|
-
activesupport (= 7.2.
|
|
31
|
+
actionview (7.2.1)
|
|
32
|
+
activesupport (= 7.2.1)
|
|
32
33
|
builder (~> 3.1)
|
|
33
34
|
erubi (~> 1.11)
|
|
34
35
|
rails-dom-testing (~> 2.2)
|
|
35
36
|
rails-html-sanitizer (~> 1.6)
|
|
36
|
-
activesupport (7.2.
|
|
37
|
+
activesupport (7.2.1)
|
|
37
38
|
base64
|
|
38
39
|
bigdecimal
|
|
39
40
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
@@ -62,6 +63,9 @@ GEM
|
|
|
62
63
|
diff-lcs (1.5.1)
|
|
63
64
|
docile (1.4.1)
|
|
64
65
|
drb (2.2.1)
|
|
66
|
+
elapsed (0.0.1)
|
|
67
|
+
loog (> 0)
|
|
68
|
+
tago (> 0)
|
|
65
69
|
erubi (1.13.0)
|
|
66
70
|
ethon (0.16.0)
|
|
67
71
|
ffi (>= 1.15.0)
|
|
@@ -74,14 +78,14 @@ GEM
|
|
|
74
78
|
others (> 0)
|
|
75
79
|
tago (> 0)
|
|
76
80
|
yaml (~> 0.3)
|
|
77
|
-
faraday (2.
|
|
78
|
-
faraday-net_http (>= 2.0, < 3.
|
|
81
|
+
faraday (2.11.0)
|
|
82
|
+
faraday-net_http (>= 2.0, < 3.4)
|
|
79
83
|
logger
|
|
80
84
|
faraday-http-cache (2.5.1)
|
|
81
85
|
faraday (>= 0.8)
|
|
82
86
|
faraday-multipart (1.0.4)
|
|
83
87
|
multipart-post (~> 2)
|
|
84
|
-
faraday-net_http (3.
|
|
88
|
+
faraday-net_http (3.3.0)
|
|
85
89
|
net-http
|
|
86
90
|
faraday-retry (2.2.1)
|
|
87
91
|
faraday (~> 2.0)
|
|
@@ -123,7 +127,7 @@ GEM
|
|
|
123
127
|
nokogiri (1.16.7-x86_64-linux)
|
|
124
128
|
racc (~> 1.4)
|
|
125
129
|
others (0.0.3)
|
|
126
|
-
parallel (1.26.
|
|
130
|
+
parallel (1.26.3)
|
|
127
131
|
parser (3.3.4.2)
|
|
128
132
|
ast (~> 2.4.1)
|
|
129
133
|
racc
|
|
@@ -146,9 +150,9 @@ GEM
|
|
|
146
150
|
rails-html-sanitizer (1.6.0)
|
|
147
151
|
loofah (~> 2.21)
|
|
148
152
|
nokogiri (~> 1.14)
|
|
149
|
-
railties (7.2.
|
|
150
|
-
actionpack (= 7.2.
|
|
151
|
-
activesupport (= 7.2.
|
|
153
|
+
railties (7.2.1)
|
|
154
|
+
actionpack (= 7.2.1)
|
|
155
|
+
activesupport (= 7.2.1)
|
|
152
156
|
irb (~> 1.13)
|
|
153
157
|
rackup (>= 1.0.0)
|
|
154
158
|
rake (>= 12.2)
|
|
@@ -163,11 +167,11 @@ GEM
|
|
|
163
167
|
reline (0.5.9)
|
|
164
168
|
io-console (~> 0.5)
|
|
165
169
|
retries (0.0.5)
|
|
166
|
-
rexml (3.3.
|
|
170
|
+
rexml (3.3.6)
|
|
167
171
|
strscan
|
|
168
172
|
rspec-core (3.13.0)
|
|
169
173
|
rspec-support (~> 3.13.0)
|
|
170
|
-
rspec-expectations (3.13.
|
|
174
|
+
rspec-expectations (3.13.2)
|
|
171
175
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
172
176
|
rspec-support (~> 3.13.0)
|
|
173
177
|
rspec-mocks (3.13.1)
|
|
@@ -193,7 +197,7 @@ GEM
|
|
|
193
197
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
194
198
|
ruby-progressbar (~> 1.7)
|
|
195
199
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
196
|
-
rubocop-ast (1.32.
|
|
200
|
+
rubocop-ast (1.32.1)
|
|
197
201
|
parser (>= 3.3.1.0)
|
|
198
202
|
rubocop-performance (1.21.1)
|
|
199
203
|
rubocop (>= 1.48.1, < 2.0)
|
|
@@ -214,13 +218,13 @@ GEM
|
|
|
214
218
|
stringio (3.1.1)
|
|
215
219
|
strscan (3.1.0)
|
|
216
220
|
tago (0.0.2)
|
|
217
|
-
thor (1.3.
|
|
221
|
+
thor (1.3.2)
|
|
218
222
|
typhoeus (1.4.1)
|
|
219
223
|
ethon (>= 0.9.0)
|
|
220
224
|
tzinfo (2.0.6)
|
|
221
225
|
concurrent-ruby (~> 1.0)
|
|
222
226
|
unicode-display_width (2.5.0)
|
|
223
|
-
uri (0.13.
|
|
227
|
+
uri (0.13.1)
|
|
224
228
|
useragent (0.16.10)
|
|
225
229
|
wait_for (0.1.1)
|
|
226
230
|
webmock (3.23.1)
|
data/baza.rb.gemspec
CHANGED
|
@@ -41,6 +41,7 @@ Gem::Specification.new do |s|
|
|
|
41
41
|
s.rdoc_options = ['--charset=UTF-8']
|
|
42
42
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
|
43
43
|
s.add_dependency 'backtrace', '>0'
|
|
44
|
+
s.add_dependency 'elapsed', '>0'
|
|
44
45
|
s.add_dependency 'faraday', '>0'
|
|
45
46
|
s.add_dependency 'faraday-http-cache', '>0'
|
|
46
47
|
s.add_dependency 'faraday-multipart', '>0'
|
data/lib/baza-rb/version.rb
CHANGED
|
@@ -22,9 +22,13 @@
|
|
|
22
22
|
|
|
23
23
|
# Just a version.
|
|
24
24
|
#
|
|
25
|
+
# We keep this file separate from the "baza-rb.rb" in order to have an
|
|
26
|
+
# ability to include it from the ".gemspec" script, without including all
|
|
27
|
+
# other packages (thus failing the build).
|
|
28
|
+
#
|
|
25
29
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
26
30
|
# Copyright:: Copyright (c) 2024 Yegor Bugayenko
|
|
27
31
|
# License:: MIT
|
|
28
32
|
class BazaRb
|
|
29
|
-
VERSION = '0.0.
|
|
33
|
+
VERSION = '0.0.8'
|
|
30
34
|
end
|
data/lib/baza-rb.rb
CHANGED
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
|
|
23
23
|
require 'base64'
|
|
24
|
+
require 'elapsed'
|
|
25
|
+
require 'fileutils'
|
|
24
26
|
require 'iri'
|
|
25
27
|
require 'loog'
|
|
26
28
|
require 'retries'
|
|
@@ -38,7 +40,17 @@ require_relative 'baza-rb/version'
|
|
|
38
40
|
# Copyright:: Copyright (c) 2024 Yegor Bugayenko
|
|
39
41
|
# License:: MIT
|
|
40
42
|
class BazaRb
|
|
41
|
-
|
|
43
|
+
# Ctor.
|
|
44
|
+
#
|
|
45
|
+
# @param [String] host Host name
|
|
46
|
+
# @param [Integer] port TCP port
|
|
47
|
+
# @param [String] token Secret token of zerocracy.com
|
|
48
|
+
# @param [Boolean] ssl Should we use SSL?
|
|
49
|
+
# @param [Float] timeout Connect timeout and session timeout, in seconds
|
|
50
|
+
# @param [Integer] retries How many times to retry on connection failure?
|
|
51
|
+
# @param [Loog] loog The logging facility
|
|
52
|
+
# @param [Boolean] compress Set to TRUE if need to use GZIP while pulling and sending
|
|
53
|
+
def initialize(host, port, token, ssl: true, timeout: 30, retries: 3, loog: Loog::NULL, compress: true)
|
|
42
54
|
@host = host
|
|
43
55
|
@port = port
|
|
44
56
|
@ssl = ssl
|
|
@@ -46,10 +58,11 @@ class BazaRb
|
|
|
46
58
|
@timeout = timeout
|
|
47
59
|
@loog = loog
|
|
48
60
|
@retries = retries
|
|
49
|
-
@
|
|
61
|
+
@compress = compress
|
|
50
62
|
end
|
|
51
63
|
|
|
52
64
|
# Push factbase to the server.
|
|
65
|
+
#
|
|
53
66
|
# @param [String] name The name of the job on the server
|
|
54
67
|
# @param [Bytes] data The data to push to the server (binary)
|
|
55
68
|
# @param [Array<String>] meta List of metas, possibly empty
|
|
@@ -79,7 +92,7 @@ class BazaRb
|
|
|
79
92
|
checked(
|
|
80
93
|
Typhoeus::Request.put(
|
|
81
94
|
home.append('push').append(name).to_s,
|
|
82
|
-
@
|
|
95
|
+
@compress ? zipped(params) : params
|
|
83
96
|
)
|
|
84
97
|
)
|
|
85
98
|
end
|
|
@@ -90,6 +103,7 @@ class BazaRb
|
|
|
90
103
|
end
|
|
91
104
|
|
|
92
105
|
# Pull factbase from the server.
|
|
106
|
+
#
|
|
93
107
|
# @param [Integer] id The ID of the job on the server
|
|
94
108
|
# @return [Bytes] Binary data pulled
|
|
95
109
|
def pull(id)
|
|
@@ -125,6 +139,7 @@ class BazaRb
|
|
|
125
139
|
end
|
|
126
140
|
|
|
127
141
|
# The job with this ID is finished already?
|
|
142
|
+
#
|
|
128
143
|
# @param [Integer] id The ID of the job on the server
|
|
129
144
|
# @return [Boolean] TRUE if the job is already finished
|
|
130
145
|
def finished?(id)
|
|
@@ -148,6 +163,7 @@ class BazaRb
|
|
|
148
163
|
end
|
|
149
164
|
|
|
150
165
|
# Read and return the stdout of the job.
|
|
166
|
+
#
|
|
151
167
|
# @param [Integer] id The ID of the job on the server
|
|
152
168
|
# @return [String] The stdout, as a text
|
|
153
169
|
def stdout(id)
|
|
@@ -171,6 +187,7 @@ class BazaRb
|
|
|
171
187
|
end
|
|
172
188
|
|
|
173
189
|
# Read and return the exit code of the job.
|
|
190
|
+
#
|
|
174
191
|
# @param [Integer] id The ID of the job on the server
|
|
175
192
|
# @return [Integer] The exit code
|
|
176
193
|
def exit_code(id)
|
|
@@ -194,6 +211,7 @@ class BazaRb
|
|
|
194
211
|
end
|
|
195
212
|
|
|
196
213
|
# Read and return the verification verdict of the job.
|
|
214
|
+
#
|
|
197
215
|
# @param [Integer] id The ID of the job on the server
|
|
198
216
|
# @return [String] The verdict
|
|
199
217
|
def verified(id)
|
|
@@ -217,6 +235,7 @@ class BazaRb
|
|
|
217
235
|
end
|
|
218
236
|
|
|
219
237
|
# Lock the name.
|
|
238
|
+
#
|
|
220
239
|
# @param [String] name The name of the job on the server
|
|
221
240
|
# @param [String] owner The owner of the lock (any string)
|
|
222
241
|
def lock(name, owner)
|
|
@@ -238,6 +257,7 @@ class BazaRb
|
|
|
238
257
|
end
|
|
239
258
|
|
|
240
259
|
# Unlock the name.
|
|
260
|
+
#
|
|
241
261
|
# @param [String] name The name of the job on the server
|
|
242
262
|
# @param [String] owner The owner of the lock (any string)
|
|
243
263
|
def unlock(name, owner)
|
|
@@ -259,6 +279,7 @@ class BazaRb
|
|
|
259
279
|
end
|
|
260
280
|
|
|
261
281
|
# Get the ID of the job by the name.
|
|
282
|
+
#
|
|
262
283
|
# @param [String] name The name of the job on the server
|
|
263
284
|
# @return [Integer] The ID of the job on the server
|
|
264
285
|
def recent(name)
|
|
@@ -282,6 +303,7 @@ class BazaRb
|
|
|
282
303
|
end
|
|
283
304
|
|
|
284
305
|
# Check whether the name of the job exists on the server.
|
|
306
|
+
#
|
|
285
307
|
# @param [String] name The name of the job on the server
|
|
286
308
|
# @return [Boolean] TRUE if such name exists
|
|
287
309
|
def name_exists?(name)
|
|
@@ -305,6 +327,7 @@ class BazaRb
|
|
|
305
327
|
end
|
|
306
328
|
|
|
307
329
|
# Place a single durable.
|
|
330
|
+
#
|
|
308
331
|
# @param [String] jname The name of the job on the server
|
|
309
332
|
# @param [String] file The file name
|
|
310
333
|
def durable_place(jname, file)
|
|
@@ -338,6 +361,7 @@ class BazaRb
|
|
|
338
361
|
end
|
|
339
362
|
|
|
340
363
|
# Save a single durable from local file to server.
|
|
364
|
+
#
|
|
341
365
|
# @param [Integer] id The ID of the durable
|
|
342
366
|
# @param [String] file The file to upload
|
|
343
367
|
def durable_save(id, file)
|
|
@@ -362,6 +386,7 @@ class BazaRb
|
|
|
362
386
|
end
|
|
363
387
|
|
|
364
388
|
# Load a single durable from server to local file.
|
|
389
|
+
#
|
|
365
390
|
# @param [Integer] id The ID of the durable
|
|
366
391
|
# @param [String] file The file to upload
|
|
367
392
|
def durable_load(id, file)
|
|
@@ -393,6 +418,7 @@ class BazaRb
|
|
|
393
418
|
end
|
|
394
419
|
|
|
395
420
|
# Lock a single durable.
|
|
421
|
+
#
|
|
396
422
|
# @param [Integer] id The ID of the durable
|
|
397
423
|
# @param [String] owner The owner of the lock
|
|
398
424
|
def durable_lock(id, owner)
|
|
@@ -415,6 +441,7 @@ class BazaRb
|
|
|
415
441
|
end
|
|
416
442
|
|
|
417
443
|
# Unlock a single durable.
|
|
444
|
+
#
|
|
418
445
|
# @param [Integer] id The ID of the durable
|
|
419
446
|
# @param [String] owner The owner of the lock
|
|
420
447
|
def durable_unlock(id, owner)
|
|
@@ -436,6 +463,74 @@ class BazaRb
|
|
|
436
463
|
end
|
|
437
464
|
end
|
|
438
465
|
|
|
466
|
+
# Pop job from the server.
|
|
467
|
+
#
|
|
468
|
+
# @param [String] owner Who is acting (could be any text)
|
|
469
|
+
# @param [String] zip The path to ZIP archive to take
|
|
470
|
+
# @return [Boolean] TRUE if job taken, otherwise false
|
|
471
|
+
def pop(owner, zip)
|
|
472
|
+
raise 'The "zip" of the job is nil' if zip.nil?
|
|
473
|
+
raise "The 'zip' file is absent: #{zip}" unless File.exist?(zip)
|
|
474
|
+
success = false
|
|
475
|
+
FileUtils.rm_f(zip)
|
|
476
|
+
elapsed(@loog) do
|
|
477
|
+
File.open(zip, 'wb') do |f|
|
|
478
|
+
request = Typhoeus::Request.new(
|
|
479
|
+
home.append('pop').add(owner:).to_s,
|
|
480
|
+
method: :get,
|
|
481
|
+
headers: headers.merge(
|
|
482
|
+
'Accept' => 'application/octet-stream'
|
|
483
|
+
),
|
|
484
|
+
connecttimeout: @timeout,
|
|
485
|
+
timeout: @timeout
|
|
486
|
+
)
|
|
487
|
+
request.on_body do |chunk|
|
|
488
|
+
f.write(chunk)
|
|
489
|
+
end
|
|
490
|
+
with_retries(max_tries: @retries) do
|
|
491
|
+
request.run
|
|
492
|
+
end
|
|
493
|
+
ret = request.response
|
|
494
|
+
checked(ret, [200, 204])
|
|
495
|
+
success = ret.code == 200
|
|
496
|
+
end
|
|
497
|
+
unless success
|
|
498
|
+
FileUtils.rm_f(zip)
|
|
499
|
+
throw :"Nothing to pop at #{@host}"
|
|
500
|
+
end
|
|
501
|
+
throw :"Popped #{File.size(zip)} bytes in ZIP archive at #{@host}"
|
|
502
|
+
end
|
|
503
|
+
success
|
|
504
|
+
end
|
|
505
|
+
|
|
506
|
+
# Submit a ZIP archvie to finish a job.
|
|
507
|
+
#
|
|
508
|
+
# @param [Integer] id The ID of the job on the server
|
|
509
|
+
# @param [String] zip The path to the ZIP file with the content of the archive
|
|
510
|
+
def finish(id, zip)
|
|
511
|
+
raise 'The "id" of the job is nil' if id.nil?
|
|
512
|
+
raise 'The "id" of the job must be an integer' unless id.is_a?(Integer)
|
|
513
|
+
raise 'The "zip" of the job is nil' if zip.nil?
|
|
514
|
+
raise "The 'zip' file is absent: #{zip}" unless File.exist?(zip)
|
|
515
|
+
elapsed(@loog) do
|
|
516
|
+
with_retries(max_tries: @retries) do
|
|
517
|
+
checked(
|
|
518
|
+
Typhoeus::Request.put(
|
|
519
|
+
home.append('finish').add(id:).to_s,
|
|
520
|
+
connecttimeout: @timeout,
|
|
521
|
+
timeout: @timeout,
|
|
522
|
+
body: File.binread(zip),
|
|
523
|
+
headers: headers.merge(
|
|
524
|
+
'Content-Type' => 'application/octet-stream',
|
|
525
|
+
'Content-Length' => File.size(zip)
|
|
526
|
+
)
|
|
527
|
+
)
|
|
528
|
+
)
|
|
529
|
+
end
|
|
530
|
+
throw :"Pushed #{File.size(zip)} bytes to #{@host}, finished job ##{id}"
|
|
531
|
+
end
|
|
532
|
+
end
|
|
533
|
+
|
|
439
534
|
private
|
|
440
535
|
|
|
441
536
|
def headers
|
|
@@ -460,17 +555,6 @@ class BazaRb
|
|
|
460
555
|
params.merge(body:, headers:)
|
|
461
556
|
end
|
|
462
557
|
|
|
463
|
-
def elapsed(loog)
|
|
464
|
-
start = Time.now
|
|
465
|
-
begin
|
|
466
|
-
yield
|
|
467
|
-
rescue UncaughtThrowError => e
|
|
468
|
-
tag = e.tag
|
|
469
|
-
throw e unless tag.is_a?(Symbol)
|
|
470
|
-
loog.info("#{tag} in #{start.ago}")
|
|
471
|
-
end
|
|
472
|
-
end
|
|
473
|
-
|
|
474
558
|
def gzip(data)
|
|
475
559
|
''.dup.tap do |result|
|
|
476
560
|
io = StringIO.new(result)
|
data/test/test_baza-rb.rb
CHANGED
|
@@ -70,7 +70,7 @@ class TestBazaRb < Minitest::Test
|
|
|
70
70
|
fb = Factbase.new
|
|
71
71
|
fb.insert.foo = 'test-' * 10_000
|
|
72
72
|
fb.insert
|
|
73
|
-
baza = BazaRb.new(HOST, PORT, TOKEN,
|
|
73
|
+
baza = BazaRb.new(HOST, PORT, TOKEN, compress: false)
|
|
74
74
|
assert(baza.push(fake_name, fb.export, []).positive?)
|
|
75
75
|
end
|
|
76
76
|
|
|
@@ -112,6 +112,23 @@ class TestBazaRb < Minitest::Test
|
|
|
112
112
|
)
|
|
113
113
|
end
|
|
114
114
|
|
|
115
|
+
def test_simple_pop
|
|
116
|
+
WebMock.disable_net_connect!
|
|
117
|
+
stub_request(:get, 'https://example.org/pop?owner=me').to_return(status: 204)
|
|
118
|
+
Tempfile.open do |zip|
|
|
119
|
+
assert(!BazaRb.new('example.org', 443, '000').pop('me', zip.path))
|
|
120
|
+
assert(!File.exist?(zip.path))
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_simple_finish
|
|
125
|
+
WebMock.disable_net_connect!
|
|
126
|
+
stub_request(:put, 'https://example.org/finish?id=42').to_return(status: 200)
|
|
127
|
+
Tempfile.open do |zip|
|
|
128
|
+
BazaRb.new('example.org', 443, '000').finish(42, zip.path)
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
115
132
|
def test_simple_recent_check
|
|
116
133
|
WebMock.disable_net_connect!
|
|
117
134
|
stub_request(:get, 'https://example.org/recent/simple.txt')
|
|
@@ -208,7 +225,7 @@ class TestBazaRb < Minitest::Test
|
|
|
208
225
|
|
|
209
226
|
def test_push_compression_disabled
|
|
210
227
|
req =
|
|
211
|
-
with_http_server(200, 'yes',
|
|
228
|
+
with_http_server(200, 'yes', compress: false) do |baza|
|
|
212
229
|
baza.push('simple', 'hello, world!', %w[meta1 meta2 meta3])
|
|
213
230
|
end
|
|
214
231
|
assert_equal('application/octet-stream', req.content_type)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: baza.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
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-08-
|
|
11
|
+
date: 2024-08-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: backtrace
|
|
@@ -24,6 +24,20 @@ dependencies:
|
|
|
24
24
|
- - ">"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: elapsed
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: faraday
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|