Class: IO

Inherits:
Object show all
Defined in:
Library/Homebrew/extend/io.rb

Instance Method Summary collapse

Instance Method Details

#readline_nonblock(sep = $INPUT_RECORD_SEPARATOR) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'Library/Homebrew/extend/io.rb', line 2

def readline_nonblock(sep = $INPUT_RECORD_SEPARATOR)
  line = ""
  buffer = ""

  loop do
    break if buffer == sep
    read_nonblock(1, buffer)
    line.concat(buffer)
  end

  line
rescue IO::WaitReadable, EOFError => e
  raise e if line.empty?
  line
end