ruby-zstds 1.1.0 → 1.1.1
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/README.md +38 -17
- data/ext/extconf.rb +1 -1
- data/ext/zstds_ext/error.c +12 -12
- data/lib/zstds/file.rb +2 -2
- data/lib/zstds/option.rb +10 -4
- data/lib/zstds/stream/abstract.rb +5 -3
- data/lib/zstds/stream/reader.rb +3 -2
- data/lib/zstds/stream/reader_helpers.rb +1 -1
- data/lib/zstds/validation.rb +3 -1
- data/lib/zstds/version.rb +1 -1
- metadata +55 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 882ef3555df6569fdb51a8689d2e7b8e710255f98a08a631e023ae0160d3ad86
|
4
|
+
data.tar.gz: 233e455b9819cab316812fd7c977735972ad5ff2eeee1a816c329e7a5b7661f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69ce6c1b92687ca88e87619a3314acf3b8c0584c56a1694730e5e5bf7139d5db3c7c280f01df79e1fb010a3c61c0c46af76a82bb1f4815b481421fb7b885f3d4
|
7
|
+
data.tar.gz: b77df0f6f9b98523ca3e611bbab7d5655a94c7e637fc61511096da614cb95672fab113894de375f6f406015aebc6eded0d0dabb5025644891775bec8a04cadda
|
data/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# Ruby bindings for zstd library
|
2
2
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
| [](https://ci.appveyor.com/project/andrew-aladev/ruby-zstds/branch/master) | [](https://circleci.com/gh/andrew-aladev/ruby-zstds/tree/master) | [](https://github.com/andrew-aladev/ruby-zstds/actions) | [](https://codecov.io/gh/andrew-aladev/ruby-zstds) | [](https://rubygems.org/gems/ruby-zstds) |
|
6
6
|
|
7
7
|
See [zstd library](https://github.com/facebook/zstd).
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
11
|
-
Please install zstd library first, use latest 1.4.
|
11
|
+
Please install zstd library first, use latest 1.4.0+ version.
|
12
12
|
|
13
13
|
```sh
|
14
14
|
gem install ruby-zstds
|
@@ -70,16 +70,16 @@ require "zstds"
|
|
70
70
|
samples = (Array.new(8) { ::SecureRandom.random_bytes(1 << 8) } + ["sample string"]).shuffle
|
71
71
|
|
72
72
|
dictionary = ZSTDS::Dictionary.train samples
|
73
|
-
File.write "dictionary.bin", dictionary.buffer
|
73
|
+
File.write "dictionary.bin", dictionary.buffer, :mode => "wb"
|
74
74
|
|
75
|
-
dictionary_buffer = File.read "dictionary.bin"
|
75
|
+
dictionary_buffer = File.read "dictionary.bin", :mode => "rb"
|
76
76
|
dictionary = ZSTDS::Dictionary.new dictionary_buffer
|
77
77
|
|
78
78
|
data = ZSTDS::String.compress "sample string", :dictionary => dictionary
|
79
79
|
puts ZSTDS::String.decompress(data, :dictionary => dictionary)
|
80
80
|
```
|
81
81
|
|
82
|
-
You can create and read `tar.zst` archives with [minitar](https://github.com/halostatue/minitar)
|
82
|
+
You can create and read `tar.zst` archives with [minitar](https://github.com/halostatue/minitar).
|
83
83
|
|
84
84
|
```ruby
|
85
85
|
require "zstds"
|
@@ -113,6 +113,18 @@ get "/" do
|
|
113
113
|
end
|
114
114
|
```
|
115
115
|
|
116
|
+
All functionality (including streaming) can be used inside multiple threads with [parallel](https://github.com/grosser/parallel).
|
117
|
+
This code will provide heavy load for your CPU.
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
require "zstds"
|
121
|
+
require "parallel"
|
122
|
+
|
123
|
+
Parallel.each large_datas do |large_data|
|
124
|
+
ZSTDS::String.compress large_data
|
125
|
+
end
|
126
|
+
```
|
127
|
+
|
116
128
|
## Options
|
117
129
|
|
118
130
|
| Option | Values | Default | Description |
|
@@ -244,7 +256,7 @@ File maintains both source and destination buffers, it accepts both `source_buff
|
|
244
256
|
|
245
257
|
## Stream::Writer
|
246
258
|
|
247
|
-
Its behaviour is similar to builtin [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib
|
259
|
+
Its behaviour is similar to builtin [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipWriter.html).
|
248
260
|
|
249
261
|
Writer maintains destination buffer only, so it accepts `destination_buffer_length` option only.
|
250
262
|
|
@@ -282,7 +294,7 @@ Set another encodings, `nil` is just for compatibility with `IO`.
|
|
282
294
|
#tell
|
283
295
|
```
|
284
296
|
|
285
|
-
See [`IO`](https://ruby-doc.org/core
|
297
|
+
See [`IO`](https://ruby-doc.org/core/IO.html) docs.
|
286
298
|
|
287
299
|
```
|
288
300
|
#write(*objects)
|
@@ -292,7 +304,7 @@ See [`IO`](https://ruby-doc.org/core-2.7.0/IO.html) docs.
|
|
292
304
|
#closed?
|
293
305
|
```
|
294
306
|
|
295
|
-
See [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib
|
307
|
+
See [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipWriter.html) docs.
|
296
308
|
|
297
309
|
```
|
298
310
|
#write_nonblock(object, *options)
|
@@ -306,6 +318,9 @@ Special asynchronous methods missing in `Zlib::GzipWriter`.
|
|
306
318
|
So it is possible to have asynchronous variants for these synchronous methods.
|
307
319
|
Behaviour is the same as `IO#write_nonblock` method.
|
308
320
|
|
321
|
+
All nonblock operations for file will raise `EBADF` error on Windows.
|
322
|
+
Setting file into nonblocking mode is [not available on Windows](https://github.com/ruby/ruby/blob/master/win32/win32.c#L4388).
|
323
|
+
|
309
324
|
```
|
310
325
|
#<<(object)
|
311
326
|
#print(*objects)
|
@@ -314,11 +329,11 @@ Behaviour is the same as `IO#write_nonblock` method.
|
|
314
329
|
#puts(*objects)
|
315
330
|
```
|
316
331
|
|
317
|
-
Typical helpers, see [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib
|
332
|
+
Typical helpers, see [`Zlib::GzipWriter`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipWriter.html) docs.
|
318
333
|
|
319
334
|
## Stream::Reader
|
320
335
|
|
321
|
-
Its behaviour is similar to builtin [`Zlib::GzipReader`](https://ruby-doc.org/stdlib
|
336
|
+
Its behaviour is similar to builtin [`Zlib::GzipReader`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipReader.html).
|
322
337
|
|
323
338
|
Reader maintains both source and destination buffers, it accepts both `source_buffer_length` and `destination_buffer_length` options.
|
324
339
|
|
@@ -353,7 +368,7 @@ Set another encodings.
|
|
353
368
|
#tell
|
354
369
|
```
|
355
370
|
|
356
|
-
See [`IO`](https://ruby-doc.org/core
|
371
|
+
See [`IO`](https://ruby-doc.org/core/IO.html) docs.
|
357
372
|
|
358
373
|
```
|
359
374
|
#read(bytes_to_read = nil, out_buffer = nil)
|
@@ -363,14 +378,14 @@ See [`IO`](https://ruby-doc.org/core-2.7.0/IO.html) docs.
|
|
363
378
|
#closed?
|
364
379
|
```
|
365
380
|
|
366
|
-
See [`Zlib::GzipReader`](https://ruby-doc.org/stdlib
|
381
|
+
See [`Zlib::GzipReader`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipReader.html) docs.
|
367
382
|
|
368
383
|
```
|
369
384
|
#readpartial(bytes_to_read = nil, out_buffer = nil)
|
370
385
|
#read_nonblock(bytes_to_read, out_buffer = nil, *options)
|
371
386
|
```
|
372
387
|
|
373
|
-
See [`IO`](https://ruby-doc.org/core
|
388
|
+
See [`IO`](https://ruby-doc.org/core/IO.html) docs.
|
374
389
|
|
375
390
|
```
|
376
391
|
#getbyte
|
@@ -393,7 +408,7 @@ See [`IO`](https://ruby-doc.org/core-2.7.0/IO.html) docs.
|
|
393
408
|
#ungetline(line)
|
394
409
|
```
|
395
410
|
|
396
|
-
Typical helpers, see [`Zlib::GzipReader`](https://ruby-doc.org/stdlib
|
411
|
+
Typical helpers, see [`Zlib::GzipReader`](https://ruby-doc.org/stdlib/libdoc/zlib/rdoc/Zlib/GzipReader.html) docs.
|
397
412
|
|
398
413
|
## Dictionary
|
399
414
|
|
@@ -431,11 +446,17 @@ Read dictionary id from buffer.
|
|
431
446
|
Please be careful: bindings are not thread safe.
|
432
447
|
You should lock all shared data between threads.
|
433
448
|
|
449
|
+
For example: you should not use same compressor/decompressor inside multiple threads.
|
450
|
+
Please verify that you are using each processor inside single thread at the same time.
|
451
|
+
|
452
|
+
## Operating systems
|
453
|
+
|
454
|
+
GNU/Linux, FreeBSD, OSX, Windows (MinGW).
|
455
|
+
|
434
456
|
## CI
|
435
457
|
|
436
458
|
Please visit [scripts/test-images](scripts/test-images).
|
437
459
|
See universal test script [scripts/ci_test.sh](scripts/ci_test.sh) for CI.
|
438
|
-
You can run this script using many native and cross images.
|
439
460
|
|
440
461
|
## License
|
441
462
|
|
data/ext/extconf.rb
CHANGED
data/ext/zstds_ext/error.c
CHANGED
@@ -40,7 +40,7 @@ zstds_ext_result_t zstds_ext_get_error(ZSTD_ErrorCode error_code)
|
|
40
40
|
}
|
41
41
|
}
|
42
42
|
|
43
|
-
static inline NORETURN(void
|
43
|
+
static inline NORETURN(void raise_error(const char* name, const char* description))
|
44
44
|
{
|
45
45
|
VALUE module = rb_define_module(ZSTDS_EXT_MODULE_NAME);
|
46
46
|
VALUE error = rb_const_get(module, rb_intern(name));
|
@@ -51,30 +51,30 @@ void zstds_ext_raise_error(zstds_ext_result_t ext_result)
|
|
51
51
|
{
|
52
52
|
switch (ext_result) {
|
53
53
|
case ZSTDS_EXT_ERROR_ALLOCATE_FAILED:
|
54
|
-
|
54
|
+
raise_error("AllocateError", "allocate error");
|
55
55
|
case ZSTDS_EXT_ERROR_VALIDATE_FAILED:
|
56
|
-
|
56
|
+
raise_error("ValidateError", "validate error");
|
57
57
|
|
58
58
|
case ZSTDS_EXT_ERROR_USED_AFTER_CLOSE:
|
59
|
-
|
59
|
+
raise_error("UsedAfterCloseError", "used after closed");
|
60
60
|
case ZSTDS_EXT_ERROR_NOT_ENOUGH_SOURCE_BUFFER:
|
61
|
-
|
61
|
+
raise_error("NotEnoughSourceBufferError", "not enough source buffer");
|
62
62
|
case ZSTDS_EXT_ERROR_NOT_ENOUGH_DESTINATION_BUFFER:
|
63
|
-
|
63
|
+
raise_error("NotEnoughDestinationBufferError", "not enough destination buffer");
|
64
64
|
case ZSTDS_EXT_ERROR_DECOMPRESSOR_CORRUPTED_SOURCE:
|
65
|
-
|
65
|
+
raise_error("DecompressorCorruptedSourceError", "decompressor received corrupted source");
|
66
66
|
case ZSTDS_EXT_ERROR_CORRUPTED_DICTIONARY:
|
67
|
-
|
67
|
+
raise_error("CorruptedDictionaryError", "corrupted dictionary");
|
68
68
|
|
69
69
|
case ZSTDS_EXT_ERROR_ACCESS_IO:
|
70
|
-
|
70
|
+
raise_error("AccessIOError", "failed to access IO");
|
71
71
|
case ZSTDS_EXT_ERROR_READ_IO:
|
72
|
-
|
72
|
+
raise_error("ReadIOError", "failed to read IO");
|
73
73
|
case ZSTDS_EXT_ERROR_WRITE_IO:
|
74
|
-
|
74
|
+
raise_error("WriteIOError", "failed to write IO");
|
75
75
|
|
76
76
|
default:
|
77
77
|
// ZSTDS_EXT_ERROR_UNEXPECTED
|
78
|
-
|
78
|
+
raise_error("UnexpectedError", "unexpected error");
|
79
79
|
}
|
80
80
|
}
|
data/lib/zstds/file.rb
CHANGED
@@ -19,7 +19,7 @@ module ZSTDS
|
|
19
19
|
|
20
20
|
options[:pledged_size] = ::File.size source
|
21
21
|
|
22
|
-
open_files
|
22
|
+
open_files source, destination do |source_io, destination_io|
|
23
23
|
ZSTDS._native_compress_io source_io, destination_io, options
|
24
24
|
end
|
25
25
|
|
@@ -32,7 +32,7 @@ module ZSTDS
|
|
32
32
|
|
33
33
|
options = Option.get_decompressor_options options, BUFFER_LENGTH_NAMES
|
34
34
|
|
35
|
-
open_files
|
35
|
+
open_files source, destination do |source_io, destination_io|
|
36
36
|
ZSTDS._native_decompress_io source_io, destination_io, options
|
37
37
|
end
|
38
38
|
|
data/lib/zstds/option.rb
CHANGED
@@ -46,8 +46,11 @@ module ZSTDS
|
|
46
46
|
def self.get_compressor_options(options, buffer_length_names)
|
47
47
|
Validation.validate_hash options
|
48
48
|
|
49
|
-
buffer_length_defaults = buffer_length_names.each_with_object({})
|
50
|
-
|
49
|
+
buffer_length_defaults = buffer_length_names.each_with_object({}) do |name, defaults|
|
50
|
+
defaults[name] = DEFAULT_BUFFER_LENGTH
|
51
|
+
end
|
52
|
+
|
53
|
+
options = COMPRESSOR_DEFAULTS.merge(buffer_length_defaults).merge options
|
51
54
|
|
52
55
|
buffer_length_names.each { |name| Validation.validate_not_negative_integer options[name] }
|
53
56
|
|
@@ -179,8 +182,11 @@ module ZSTDS
|
|
179
182
|
def self.get_decompressor_options(options, buffer_length_names)
|
180
183
|
Validation.validate_hash options
|
181
184
|
|
182
|
-
buffer_length_defaults = buffer_length_names.each_with_object({})
|
183
|
-
|
185
|
+
buffer_length_defaults = buffer_length_names.each_with_object({}) do |name, defaults|
|
186
|
+
defaults[name] = DEFAULT_BUFFER_LENGTH
|
187
|
+
end
|
188
|
+
|
189
|
+
options = DECOMPRESSOR_DEFAULTS.merge(buffer_length_defaults).merge options
|
184
190
|
|
185
191
|
buffer_length_names.each { |name| Validation.validate_not_negative_integer options[name] }
|
186
192
|
|
@@ -12,7 +12,8 @@ module ZSTDS
|
|
12
12
|
# Native stream is not seekable by design.
|
13
13
|
# Related methods like "seek" and "pos=" can't be implemented.
|
14
14
|
|
15
|
-
# It is not possible to maintain correspondance between bytes
|
15
|
+
# It is not possible to maintain correspondance between bytes
|
16
|
+
# consumed from source and bytes written to destination by design.
|
16
17
|
# We will consume all source bytes and maintain buffer with remaining destination data.
|
17
18
|
|
18
19
|
include Delegates
|
@@ -89,8 +90,9 @@ module ZSTDS
|
|
89
90
|
end
|
90
91
|
|
91
92
|
internal_encoding = args[1]
|
92
|
-
|
93
|
-
|
93
|
+
unless internal_encoding.nil? || internal_encoding.is_a?(::Encoding)
|
94
|
+
Validation.validate_string internal_encoding
|
95
|
+
end
|
94
96
|
|
95
97
|
transcode_options = args[2]
|
96
98
|
Validation.validate_hash transcode_options unless transcode_options.nil?
|
data/lib/zstds/stream/reader.rb
CHANGED
@@ -33,8 +33,9 @@ module ZSTDS
|
|
33
33
|
source_buffer_length = @options[:source_buffer_length]
|
34
34
|
Validation.validate_not_negative_integer source_buffer_length unless source_buffer_length.nil?
|
35
35
|
|
36
|
-
source_buffer_length
|
37
|
-
|
36
|
+
if source_buffer_length.nil? || source_buffer_length.zero?
|
37
|
+
source_buffer_length = Buffer::DEFAULT_SOURCE_BUFFER_LENGTH_FOR_DECOMPRESSOR
|
38
|
+
end
|
38
39
|
|
39
40
|
@source_buffer_length = source_buffer_length
|
40
41
|
end
|
data/lib/zstds/validation.rb
CHANGED
@@ -55,7 +55,9 @@ module ZSTDS
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.validate_proc(value)
|
58
|
-
|
58
|
+
unless value.is_a?(::Proc) || value.is_a?(::Method) || value.is_a?(::UnboundMethod)
|
59
|
+
raise ValidateError, "invalid proc"
|
60
|
+
end
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
data/lib/zstds/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-zstds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Aladjev
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codecov
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
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: minitar
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +72,14 @@ dependencies:
|
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
75
|
+
version: '1.3'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
82
|
+
version: '1.3'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: parallel
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,28 +128,56 @@ dependencies:
|
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '1.16'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '1.16'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-minitest
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.12'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.12'
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
154
|
name: rubocop-performance
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: '1.
|
159
|
+
version: '1.11'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.11'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop-rake
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.5'
|
132
174
|
type: :development
|
133
175
|
prerelease: false
|
134
176
|
version_requirements: !ruby/object:Gem::Requirement
|
135
177
|
requirements:
|
136
178
|
- - "~>"
|
137
179
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
180
|
+
version: '0.5'
|
139
181
|
- !ruby/object:Gem::Dependency
|
140
182
|
name: simplecov
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,7 +192,7 @@ dependencies:
|
|
150
192
|
- - ">="
|
151
193
|
- !ruby/object:Gem::Version
|
152
194
|
version: '0'
|
153
|
-
description:
|
195
|
+
description:
|
154
196
|
email: aladjev.andrew@gmail.com
|
155
197
|
executables: []
|
156
198
|
extensions:
|
@@ -203,7 +245,7 @@ homepage: https://github.com/andrew-aladev/ruby-zstds
|
|
203
245
|
licenses:
|
204
246
|
- MIT
|
205
247
|
metadata: {}
|
206
|
-
post_install_message:
|
248
|
+
post_install_message:
|
207
249
|
rdoc_options: []
|
208
250
|
require_paths:
|
209
251
|
- lib
|
@@ -218,8 +260,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
260
|
- !ruby/object:Gem::Version
|
219
261
|
version: '0'
|
220
262
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
222
|
-
signing_key:
|
263
|
+
rubygems_version: 3.2.15
|
264
|
+
signing_key:
|
223
265
|
specification_version: 4
|
224
266
|
summary: Ruby bindings for zstd library.
|
225
267
|
test_files: []
|