Skip to content

Commit 7e73b59

Browse files
authored
Merge pull request #85 from SpringMT/feature/add-stream-wrpper-loading-and-documents
feat: add "zstd-ruby/stream_writer" and "zstd-ruby/stream_reader" loading
2 parents 1f4340f + 3cdb57b commit 7e73b59

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,45 @@ Zstd.read_skippable_frame(compressed_data_with_skippable_frame)
127127
# => "sample data"
128128
```
129129

130+
### Stream Writer and Reader Wrapper
131+
** EXPERIMENTAL *
132+
133+
* These features are experimental and may be subject to API changes in future releases.
134+
* There may be performance and compatibility issues, so extensive testing is required before production use.
135+
* If you have any questions, encounter bugs, or have suggestions, please report them via [GitHub issues](https://github.com/SpringMT/zstd-ruby/issues).
136+
137+
#### Zstd::StreamWriter
138+
139+
```
140+
require 'stringio'
141+
require 'zstd-ruby'
142+
143+
io = StringIO.new
144+
stream = Zstd::StreamWriter.new(io)
145+
stream.write("abc")
146+
stream.finish
147+
148+
io.rewind
149+
# Retrieve the compressed data
150+
compressed_data = io.read
151+
```
152+
153+
#### Zstd::StreamReader
154+
155+
```
156+
require 'stringio'
157+
require 'zstd-ruby' # Add the appropriate require statement if necessary
158+
159+
io = StringIO.new(compressed_data)
160+
reader = Zstd::StreamReader.new(io)
161+
162+
# Read and output the decompressed data
163+
puts reader.read(10) # 'abc'
164+
puts reader.read(10) # 'def'
165+
puts reader.read(10) # '' (end of data)
166+
```
167+
168+
130169
## JRuby
131170
This gem does not support JRuby.
132171

lib/zstd-ruby.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
require "zstd-ruby/version"
22
require "zstd-ruby/zstdruby"
3+
require "zstd-ruby/stream_writer"
4+
require "zstd-ruby/stream_reader"
35

46
module Zstd
57
end

spec/zstd-ruby-stream_reader_spec.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
require "spec_helper"
22
require 'zstd-ruby'
3-
require 'zstd-ruby/stream_writer'
4-
require 'zstd-ruby/stream_reader'
53
require 'pry'
64

75
RSpec.describe Zstd::StreamReader do

spec/zstd-ruby-stream_writer_spec.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
require "spec_helper"
22
require 'zstd-ruby'
3-
require 'zstd-ruby/stream_writer'
43

54
RSpec.describe Zstd::StreamWriter do
65
describe 'write' do

0 commit comments

Comments
 (0)