Нужно написать аналог базовой функциональности ActiveRecord, хранящей записи в файлах.
Так, чтобы можно было как в ActiveRecord делать .new(attributes), получать и задавать атрибуты через геттеры и сеттеры, делать #save и .find по id. формат хранения в файлах и формат id - на свое усмотрение
Реализация
файлы моделей хранятся в каталоге db, подкаталог по downcase имени класса модели, файл на запись, имя файла дополненный слева нулями до восьми знаков id. схема находится в подкаталоге модели, файл .schema, формат: для каждого аттрибута построчно разделенные двоеточием название аттрибута и тип (integer, string или float). строка искейпится (String#dump).
Реализованы методы .find, #initialize (aka .new), #save
Подключение -- class Test < FileRecord::Base
app.rb -- набор тесткейсов
app/models/test.rb -- тестовая модель.
lib/file_record -- реализация.
db/test -- тестовые данные и схема для модели Test
boot.rb -- модуль автолоада для нормальной автозагрузки классов