Есть файл определённого формата. Хотелось бы сделать класс, который бы реализовывал его чтение и извлечение данных. В файле хранятся записи вида "имя:поле a:поле b:поле c". Нужно иметь возможность как обрабатывать данные последовательно, так и получать доступ к любой записи по имени. Каждая запись — по сути хеш с ключами a, b и c и значениями, взятыми из полей a, b и c соответственно.
Как правильнее всего реализовать такой класс на Ruby?