Class: IO

Inherits:
Object
  • Object
show all
Defined in:
lib/readbytes.rb

Instance Method Summary collapse

Instance Method Details

#readbytes(n) ⇒ Object

Reads exactly n bytes.

If the data read is nil an EOFError is raised.

If the data read is too short a TruncatedDataError is raised and the read data is obtainable via its #data method.


20
21
22
23
24
25
26
27
28
29
# File 'lib/readbytes.rb', line 20

def readbytes(n)
  str = read(n)
  if str == nil
    raise EOFError, "End of file reached"
  end
  if str.size < n
    raise TruncatedDataError.new("data truncated", str) 
  end
  str
end