Method: Origami::FDF::Parser#parse
- Defined in:
- lib/origami/parsers/fdf.rb
#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 |