Method: Sie::Parser#parse
- Defined in:
- lib/sie/parser.rb
#parse(io) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sie/parser.rb', line 18 def parse(io) stack = [] sie_file = SieFile.new current = sie_file io.each_line do |line| line = line.chomp case line when BEGINNING_OF_ARRAY stack << current current = current.entries.last when END_OF_ARRAY current = stack.pop when ENTRY current.entries << parse_line(line) end end sie_file end |