Skip to content

Commit 5bb449d

Browse files
committed
Rename done? to finished? for clarity and consistency.
1 parent a3ab47f commit 5bb449d

File tree

3 files changed

+27
-23
lines changed

3 files changed

+27
-23
lines changed

lib/io/stream/readable.rb

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ module Readable
3030
# @parameter maximum_read_size [Integer] The maximum size for read operations.
3131
# @parameter block_size [Integer] Legacy parameter, use minimum_read_size instead.
3232
def initialize(minimum_read_size: MINIMUM_READ_SIZE, maximum_read_size: MAXIMUM_READ_SIZE, block_size: nil, **, &block)
33-
@done = false
33+
@finished = false
3434
@read_buffer = StringBuffer.new
3535
# Used as destination buffer for underlying reads.
3636
@input_buffer = StringBuffer.new
@@ -72,15 +72,15 @@ def read(size = nil, buffer = nil)
7272
end
7373

7474
if size
75-
until @done or @read_buffer.bytesize >= size
75+
until @finished or @read_buffer.bytesize >= size
7676
# Compute the amount of data we need to read from the underlying stream:
7777
read_size = size - @read_buffer.bytesize
7878

7979
# Don't read less than @minimum_read_size to avoid lots of small reads:
8080
fill_read_buffer(read_size > @minimum_read_size ? read_size : @minimum_read_size)
8181
end
8282
else
83-
until @done
83+
until @finished
8484
fill_read_buffer
8585
end
8686

@@ -114,7 +114,7 @@ def read_partial(size = nil, buffer = nil)
114114
end
115115
end
116116

117-
if !@done and @read_buffer.empty?
117+
if !@finished and @read_buffer.empty?
118118
fill_read_buffer
119119
end
120120

@@ -134,15 +134,15 @@ def read_exactly(size, buffer = nil, exception: EOFError)
134134
return buffer
135135
end
136136

137-
raise exception, "Encountered done while reading data!"
137+
raise exception, "Stream finished before reading enough data!"
138138
end
139139

140140
# This is a compatibility shim for existing code that uses `readpartial`.
141141
# @parameter size [Integer | Nil] The number of bytes to read.
142142
# @parameter buffer [String | Nil] An optional buffer to fill with data instead of allocating a new string.
143143
# @returns [String] The data read from the stream.
144144
def readpartial(size = nil, buffer = nil)
145-
read_partial(size, buffer) or raise EOFError, "Encountered done while reading data!"
145+
read_partial(size, buffer) or raise EOFError, "Stream finished before reading enough data!"
146146
end
147147

148148
# Find the index of a pattern in the read buffer, reading more data if needed.
@@ -222,7 +222,7 @@ def discard_until(pattern, offset = 0, limit: nil)
222222
# @returns [String] The data in the buffer without consuming it.
223223
def peek(size = nil)
224224
if size
225-
until @done or @read_buffer.bytesize >= size
225+
until @finished or @read_buffer.bytesize >= size
226226
# Compute the amount of data we need to read from the underlying stream:
227227
read_size = size - @read_buffer.bytesize
228228

@@ -231,7 +231,7 @@ def peek(size = nil)
231231
end
232232
return @read_buffer[..([size, @read_buffer.size].min - 1)]
233233
end
234-
until (block_given? && yield(@read_buffer)) or @done
234+
until (block_given? && yield(@read_buffer)) or @finished
235235
fill_read_buffer
236236
end
237237
return @read_buffer
@@ -287,33 +287,33 @@ def gets(separator = $/, limit = nil, chomp: false)
287287
# See {readable?} for a non-blocking alternative.
288288
#
289289
# @returns [Boolean] If the stream is at file which means there is no more data to be read.
290-
def done?
290+
def finished?
291291
if !@read_buffer.empty?
292292
return false
293-
elsif @done
293+
elsif @finished
294294
return true
295295
else
296296
return !self.fill_read_buffer
297297
end
298298
end
299299

300-
alias eof? done?
300+
alias eof? finished?
301301

302-
# Mark the stream as done and raise `EOFError`.
303-
def done!
302+
# Mark the stream as finished and raise `EOFError`.
303+
def finish!
304304
@read_buffer.clear
305-
@done = true
305+
@finished = true
306306

307307
raise EOFError
308308
end
309309

310-
alias eof! done!
310+
alias eof! finish!
311311

312312
# Whether there is a chance that a read operation will succeed or not.
313313
# @returns [Boolean] If the stream is readable, i.e. a `read` operation has a chance of success.
314314
def readable?
315315
# If we are at the end of the file, we can't read any more data:
316-
if @done
316+
if @finished
317317
return false
318318
end
319319

@@ -358,7 +358,7 @@ def fill_read_buffer(size = @minimum_read_size)
358358
end
359359

360360
# else for both cases above:
361-
@done = true
361+
@finished = true
362362
return false
363363
end
364364

@@ -367,8 +367,8 @@ def fill_read_buffer(size = @minimum_read_size)
367367
# @parameter buffer [String | Nil] An optional buffer to fill with data instead of allocating a new string.
368368
# @returns [String | Nil] The consumed data, or nil if no data available.
369369
def consume_read_buffer(size = nil, buffer = nil)
370-
# If we are at done, and the read buffer is empty, we can't consume anything.
371-
if @done && @read_buffer.empty?
370+
# If we are at finished, and the read buffer is empty, we can't consume anything.
371+
if @finished && @read_buffer.empty?
372372
# Clear the buffer even when returning nil
373373
if buffer
374374
buffer.clear

releases.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Releases
22

3+
## Unreleased
4+
5+
- Rename `done?` to `finished?` for clarity and consistency.
6+
37
## v0.9.1
48

59
- Fix EOF behavior to match Ruby IO semantics: `read()` returns empty string `""` at EOF while `read(size)` returns `nil` at EOF.

test/io/stream/buffered.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
expect(client).to be(:eof?)
141141
end
142142

143-
it "reads until done" do
143+
it "reads until finished" do
144144
server.close
145145

146146
# Subsequent reads should return nil:
@@ -230,7 +230,7 @@
230230
expect(result).to be == large_data[0, 2500]
231231
end
232232

233-
it "returns nil when stream is done and buffer is empty" do
233+
it "returns nil when stream is finished and buffer is empty" do
234234
server.close
235235

236236
buffer = String.new("content")
@@ -358,7 +358,7 @@
358358

359359
expect do
360360
client.read_exactly(4, buffer)
361-
end.to raise_exception(EOFError, message: be =~ /Encountered done while reading data/)
361+
end.to raise_exception(EOFError, message: be =~ /Stream finished before reading enough data/)
362362

363363
# Buffer should be cleared even when exception is raised
364364
expect(buffer).to be == ""
@@ -713,7 +713,7 @@ def before
713713
it "can close the write side of the stream" do
714714
server.write("Hello World!")
715715

716-
# We are done writing the request:
716+
# We are finished writing the request:
717717
server.close_write
718718

719719
expect(client.read).to be == "Hello World!"

0 commit comments

Comments
 (0)