class Async::IO::Protocol::Line
def each_line
def each_line return to_enum(:each_line) unless block_given? while line = @stream.read_until(@eol) yield line end end
def initialize(stream, eol = $/)
def initialize(stream, eol = $/) super(stream) @eol = eol end
def peek_line
def peek_line @stream.peek do |read_buffer| if index = read_buffer.index(@eol) return read_buffer.slice(0, index) end end raise EOFError end
def read_line
def read_line @stream.read_until(@eol) or @stream.eof! end
def read_lines
def read_lines @stream.read.split(@eol) end
def write_lines(*args)
def write_lines(*args) if args.empty? @stream.write(@eol) else args.each do |arg| @stream.write(arg) @stream.write(@eol) end end @stream.flush end