iostreams 1.3.3 → 1.4.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: 1540cfa116ee75ceb9a5cedf8b3c4e89833fc69033e442ec6c5af990d626c427
4
- data.tar.gz: 03a4bde845869ec7f3d7f54a7a5aed7f72dfaf999ab50f3435faf481927fb069
3
+ metadata.gz: 36a51f41f33a1c58f1d5d03ed857784e86de4588ca38aa5a596e479f8661faf3
4
+ data.tar.gz: 23dd967c21581520675799692296bb901e2dc539f008fa30623f4bd72a2c90f3
5
5
  SHA512:
6
- metadata.gz: bb60c37dcaa87cb5a76894c141e675039d369e3eb5e97079f63f60d15e00bce0f84f82ebeff8812829f85bd743118f09850ea5672f557550e5a26e0f0e9582b9
7
- data.tar.gz: fab7d76db975e8e8b7f0051e83137b9debe4aeea6da865aa5f7d2e218650d4d789c20629fa9881fbdbdc3763fe89947fd660f0b7c494f955e67c4c9dedcbe175
6
+ metadata.gz: 81d5f7ea50b7a5b06a5d26b758eb0639b0c820735cd0cf1545c6298f244b96b0070d3f8a11deed0ef8398b5b6c461561b3c43661612e3eeda19bdf61abb549ab
7
+ data.tar.gz: 19f6f2051351533029cd7fca3cd6e7be3a4e5d3ea4ff2ae512b0b98a12b84639ae63e6a4decc0ff3edf1d50d5c14ddc1b869767f2f6c8793fc392f6ad02d939f
@@ -2,11 +2,13 @@ module IOStreams
2
2
  module Bzip2
3
3
  class Reader < IOStreams::Reader
4
4
  # Read from a Bzip2 stream, decompressing the contents as it is read
5
- def self.stream(input_stream, **_args)
6
- Utils.load_soft_dependency("rbzip2", "Bzip2") unless defined?(RBzip2)
5
+ def self.stream(input_stream, **args)
6
+ unless defined?(::Bzip2::FFI)
7
+ Utils.load_soft_dependency("bzip2-ffi", "Bzip2", "bzip2/ffi")
8
+ end
7
9
 
8
10
  begin
9
- io = RBzip2.default_adapter::Decompressor.new(input_stream)
11
+ io = ::Bzip2::FFI::Reader.new(input_stream, args)
10
12
  yield io
11
13
  ensure
12
14
  io&.close
@@ -2,11 +2,13 @@ module IOStreams
2
2
  module Bzip2
3
3
  class Writer < IOStreams::Writer
4
4
  # Write to a stream, compressing with Bzip2
5
- def self.stream(input_stream, original_file_name: nil, **_args)
6
- Utils.load_soft_dependency("rbzip2", "Bzip2") unless defined?(RBzip2)
5
+ def self.stream(input_stream, original_file_name: nil, **args)
6
+ unless defined?(::Bzip2::FFI)
7
+ Utils.load_soft_dependency("bzip2-ffi", "Bzip2", "bzip2/ffi")
8
+ end
7
9
 
8
10
  begin
9
- io = RBzip2.default_adapter::Compressor.new(input_stream)
11
+ io = ::Bzip2::FFI::Writer.new(input_stream, args)
10
12
  yield io
11
13
  ensure
12
14
  io&.close
@@ -1,3 +1,3 @@
1
1
  module IOStreams
2
- VERSION = "1.3.3".freeze
2
+ VERSION = "1.4.0".freeze
3
3
  end
@@ -22,13 +22,14 @@ class Bzip2WriterTest < Minitest::Test
22
22
  it "file" do
23
23
  IOStreams::Bzip2::Writer.file(file_name) do |io|
24
24
  io.write(decompressed)
25
+ io.write(decompressed)
25
26
  end
26
27
 
27
28
  File.open(file_name, "rb") do |file|
28
- io = RBzip2.default_adapter::Decompressor.new(file)
29
+ io = ::Bzip2::FFI::Reader.new(file)
29
30
  result = io.read
30
31
  temp_file.delete
31
- assert_equal decompressed, result
32
+ assert_equal decompressed + decompressed, result
32
33
  end
33
34
  end
34
35
 
@@ -36,12 +37,13 @@ class Bzip2WriterTest < Minitest::Test
36
37
  io_string = StringIO.new("".b)
37
38
  IOStreams::Bzip2::Writer.stream(io_string) do |io|
38
39
  io.write(decompressed)
40
+ io.write(decompressed)
39
41
  end
40
42
 
41
43
  io = StringIO.new(io_string.string)
42
- rbzip2 = RBzip2.default_adapter::Decompressor.new(io)
44
+ rbzip2 = ::Bzip2::FFI::Reader.new(io)
43
45
  data = rbzip2.read
44
- assert_equal decompressed, data
46
+ assert_equal decompressed + decompressed, data
45
47
  end
46
48
  end
47
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iostreams
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-01 00:00:00.000000000 Z
11
+ date: 2020-09-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: