Class: Origami::FDF::Parser
Constant Summary
Constants inherited from Parser
Parser::VERBOSE_DEBUG, Parser::VERBOSE_INFO, Parser::VERBOSE_QUIET, Parser::VERBOSE_TRACE
Instance Attribute Summary
Attributes inherited from Parser
Instance Method Summary collapse
-
#parse(stream) ⇒ Object
:nodoc:.
Methods inherited from 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:
27 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 |
# File 'lib/origami/parsers/fdf.rb', line 27 def parse(stream) #:nodoc: super(stream) fdf = FDF.new(self) fdf.header = FDF::Header.parse(@data) @options[:callback].call(fdf.header) loop do break if (object = parse_object).nil? fdf.insert(object) end fdf.revisions.first.xreftable = parse_xreftable fdf.revisions.first.trailer = parse_trailer if Origami::OPTIONS[:enable_type_propagation] trailer = fdf.revisions.first.trailer if trailer[:Root].is_a?(Reference) fdf.cast_object(trailer[:Root], FDF::Catalog) end propagate_types(fdf) end fdf end |