Файл .dat - это просто двоичный двоичный объект, не так ли? Если вы используете какой-либо конкретный формат, вы можете легко перевести его на эквивалентный код Ruby. До тех пор, пока знания дублируются на обоих концах, это ведет к нарушению принципа СУХОЙ. JSON может быть хорошим промежуточным представлением (как отметил @Charlie Martin), потому что это простой текстовый формат, и вы всегда можете добавить сжатие.