Class: Gem::SafeMarshal::Reader

Inherits:
Object
  • Object
show all
Defined in:
lib/rubygems/safe_marshal/reader.rb

Defined Under Namespace

Classes: DataTooShortError, EOFError, Error, NegativeLengthError, NotImplementedError, UnconsumedBytesError, UnsupportedVersionError

Instance Method Summary collapse

Constructor Details

#initialize(io) ⇒ Reader

Returns a new instance of Reader.



29
30
31
# File 'lib/rubygems/safe_marshal/reader.rb', line 29

def initialize(io)
  @io = io
end

Instance Method Details

#read!Object



33
34
35
36
37
38
# File 'lib/rubygems/safe_marshal/reader.rb', line 33

def read!
  read_header
  root = read_element
  raise UnconsumedBytesError, "expected EOF, got #{@io.read(10).inspect}... after top-level element #{root.class}" unless @io.eof?
  root
end