class Async::IO::Protocol::Line
Attributes
eol[R]
Public Class Methods
new(stream, eol = $/)
click to toggle source
Calls superclass method
Async::IO::Protocol::Generic::new
# File lib/async/io/protocol/line.rb, line 29 def initialize(stream, eol = $/) super(stream) @eol = eol end
Public Instance Methods
each_line() { |line| ... }
click to toggle source
# File lib/async/io/protocol/line.rb, line 64 def each_line return to_enum(:each_line) unless block_given? while line = @stream.read_until(@eol) yield line end end
peek_line()
click to toggle source
# File lib/async/io/protocol/line.rb, line 54 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
read_line()
click to toggle source
# File lib/async/io/protocol/line.rb, line 50 def read_line @stream.read_until(@eol) or @stream.eof! end
read_lines()
click to toggle source
# File lib/async/io/protocol/line.rb, line 72 def read_lines @stream.read.split(@eol) end
write_lines(*args)
click to toggle source
# File lib/async/io/protocol/line.rb, line 37 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