class TerraformLandscape::Printer
def process_stream(io)
def process_stream(io) buffer = StringIO.new begin block_size = 1024 done = false until done readable_fds, = IO.select([io]) next unless readable_fds readable_fds.each do |f| begin buffer << f.read_nonblock(block_size) rescue IO::WaitReadable # rubocop:disable Lint/HandleExceptions # Ignore; we'll call IO.select again rescue EOFError done = true end end end ensure io.close end process_string(buffer.string) end