io-stream 0.9.0 → 0.9.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
- checksums.yaml.gz.sig +0 -0
- data/lib/io/stream/readable.rb +11 -0
- data/lib/io/stream/version.rb +1 -1
- data/readme.md +4 -4
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 506d80a7bb9aee846def3d18d0bf53f2085b751de5d511a8a6a31f8a5de0efd2
|
4
|
+
data.tar.gz: 9c828735d78bdeb4dba18b81ed350f5776ba3436cca7f18b17c465d6efd4ce7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19d26e89eca00835b6331548e72fc74bf17add777028af9bb6d6a7749ee760eab41a5bae780876de278c6f82eeec02366ce83bb160c798cb441a28dbef56f263
|
7
|
+
data.tar.gz: 798d2863752eca4a03d9ae7b21000530442b7a4af218f2e89d1590baa2e821650fcb66689e6ae88ba91b5ec742136ef46c328a7a48afb2d7048990084a12af05
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/io/stream/readable.rb
CHANGED
@@ -83,6 +83,17 @@ module IO::Stream
|
|
83
83
|
until @done
|
84
84
|
fill_read_buffer
|
85
85
|
end
|
86
|
+
|
87
|
+
if buffer
|
88
|
+
buffer.replace(@read_buffer)
|
89
|
+
@read_buffer.clear
|
90
|
+
else
|
91
|
+
buffer = @read_buffer
|
92
|
+
@read_buffer = StringBuffer.new
|
93
|
+
end
|
94
|
+
|
95
|
+
# Read without size always returns a non-nil value, even if it is an empty string.
|
96
|
+
return buffer
|
86
97
|
end
|
87
98
|
|
88
99
|
return consume_read_buffer(size, buffer)
|
data/lib/io/stream/version.rb
CHANGED
data/readme.md
CHANGED
@@ -12,6 +12,10 @@ Please see the [project documentation](https://socketry.github.io/io-stream) for
|
|
12
12
|
|
13
13
|
Please see the [project releases](https://socketry.github.io/io-streamreleases/index) for all releases.
|
14
14
|
|
15
|
+
### v0.9.1
|
16
|
+
|
17
|
+
- Fix EOF behavior to match Ruby IO semantics: `read()` returns empty string `""` at EOF while `read(size)` returns `nil` at EOF.
|
18
|
+
|
15
19
|
### v0.9.0
|
16
20
|
|
17
21
|
- Add support for `buffer` parameter in `read`, `read_exactly`, and `read_partial` methods to allow reading into a provided buffer.
|
@@ -58,10 +62,6 @@ Please see the [project releases](https://socketry.github.io/io-streamreleases/i
|
|
58
62
|
- Add `#to_io` method to `IO::Stream::Buffered` for better compatibility.
|
59
63
|
- Modernize gem structure and dependencies.
|
60
64
|
|
61
|
-
### v0.4.0
|
62
|
-
|
63
|
-
- Add convenient `IO.Stream()` constructor method for creating buffered streams.
|
64
|
-
|
65
65
|
## See Also
|
66
66
|
|
67
67
|
- [async-io](https://github.com/socketry/async-io) — Where this implementation originally came from.
|
data/releases.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Releases
|
2
2
|
|
3
|
+
## v0.9.1
|
4
|
+
|
5
|
+
- Fix EOF behavior to match Ruby IO semantics: `read()` returns empty string `""` at EOF while `read(size)` returns `nil` at EOF.
|
6
|
+
|
3
7
|
## v0.9.0
|
4
8
|
|
5
9
|
- Add support for `buffer` parameter in `read`, `read_exactly`, and `read_partial` methods to allow reading into a provided buffer.
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|