# File lib/toml/parser.rb, line 51 def resolve_table_array(t) @current = @parsed path = t.name.dup @current_path = path.join('.') while n = path.shift # If it's a table-array then get the last item. @current = @current.last if @current.is_a? Array # If it's the last item: if path.length == 0 # If the current table has an item: if @current.has_key?(n) # And that item is already a table-array: if @current[n].is_a? Array # Then add an item to that table-array. @current[n] << {} else raise "Cannot override table array '#{t.name.join '.'}'" end else # Create a new table array if nothing exists here. @current[n] = [] end elsif @current.has_key? n # Don't do anything if we're just moving into tables. else @current[n] = {} end @current = @current[n] end end