Method: Origami::PPKLite::Parser#parse
- Defined in:
- lib/origami/parsers/ppklite.rb
#parse(stream) ⇒ Object
:nodoc:
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/origami/parsers/ppklite.rb', line 28 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 |