iostreams 1.3.3 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: