Class: Origami::PPKLite::Parser
- Inherits:
-
Origami::Parser
- Object
- Origami::Parser
- Origami::PPKLite::Parser
- Defined in:
- lib/origami/parsers/ppklite.rb
Constant Summary
Constants inherited from Origami::Parser
Origami::Parser::VERBOSE_DEBUG, Origami::Parser::VERBOSE_INFO, Origami::Parser::VERBOSE_QUIET, Origami::Parser::VERBOSE_TRACE
Instance Attribute Summary
Attributes inherited from Origami::Parser
Instance Method Summary collapse
-
#parse(stream) ⇒ Object
:nodoc:.
Methods inherited from Origami::Parser
#debug, #defer_type_cast, #error, #info, #initialize, #parse_object, #parse_trailer, #parse_xreftable, #pos, #pos=, #target_data, #target_filename, #target_filesize, #trace, #warn
Constructor Details
This class inherits a constructor from Origami::Parser
Instance Method Details
#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 |