class TomlRB::TableArray

def accept_visitor(parser)

def accept_visitor(parser)
  parser.visit_table_array self
end

def full_key

def full_key
  @dotted_keys.join(".")
end

def initialize(dotted_keys)

def initialize(dotted_keys)
  @dotted_keys = dotted_keys
end

def navigate_keys(hash, symbolize_keys = false)

def navigate_keys(hash, symbolize_keys = false)
  current = hash
  keys = symbolize_keys ? @dotted_keys.map(&:to_sym) : @dotted_keys
  last_key = keys.pop
  # Go over the parent keys
  keys.each do |key|
    current[key] = {} unless current[key]
    if current[key].is_a? Array
      current[key] << {} if current[key].empty?
      current = current[key].last
    else
      current = current[key]
    end
  end
  # Define Table Array
  if current[last_key].is_a? Hash
    fail TomlRB::ParseError,
      "#{last_key} was defined as hash but is now redefined as a table!"
  end
  current[last_key] = [] unless current[last_key]
  current[last_key] << {}
  current[last_key].last
end