Class: Net::FTP::BufferedSocket

Inherits:
BufferedIO show all
Defined in:
lib/net/ftp.rb

Direct Known Subclasses

BufferedSSLSocket

Instance Attribute Summary

Attributes inherited from BufferedIO

#continue_timeout, #debug_output, #io, #read_timeout, #write_timeout

Instance Method Summary collapse

Methods inherited from BufferedIO

#close, #closed?, #eof?, #initialize, #inspect, #read_all, #readuntil, #write, #writeline

Constructor Details

This class inherits a constructor from Net::BufferedIO

Instance Method Details

#getsObject


1483
1484
1485
1486
# File 'lib/net/ftp.rb', line 1483

def gets
  line = readuntil("\n", true)
  return line.empty? ? nil : line
end

#read(len = nil) ⇒ Object


1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
# File 'lib/net/ftp.rb', line 1469

def read(len = nil)
  if len
    s = super(len, String.new, true)
    return s.empty? ? nil : s
  else
    result = String.new
    while s = super(DEFAULT_BLOCKSIZE, String.new, true)
      break if s.empty?
      result << s
    end
    return result
  end
end

#readlineObject


1488
1489
1490
1491
1492
1493
1494
# File 'lib/net/ftp.rb', line 1488

def readline
  line = gets
  if line.nil?
    raise EOFError, "end of file reached"
  end
  return line
end