class Origami::PPKLite::Parser
def parse(stream) #:nodoc:
def parse(stream) #:nodoc: super address_book = PPKLite.new(self) address_book.header = PPKLite::Header.parse(@data) @options[:callback].call(address_book.header) loop do break if (object = parse_object).nil? address_book.insert(object) end address_book.revisions.first.xreftable = parse_xreftable address_book.revisions.first.trailer = parse_trailer if Origami::OPTIONS[:enable_type_propagation] trailer = address_book.revisions.first.trailer if trailer[:Root].is_a?(Reference) address_book.cast_object(trailer[:Root], PPKLite::Catalog) end propagate_types(address_book) end address_book end