Поскольку ваш формат ввода зависит от вас, я действительно не понимаю, почему вы не используете YAML:
puts { 'hello' => ['world', 'how'], 'are' => { 'you' => ['today'] } }.to_yaml
Выходы:
---
hello:
- world
- how
are:
you:
- today
Вызов YAML.load
с этой строкой, конечно, возвращает исходную структуру данных. Вопреки тому, что вы считаете, YAML не требует «синтаксиса значения ключа».