Набросал предварительную версию YARD -плагина для автодокументирования Sequel -моделей — yard-is-sequel.
Существующий yard-sequel с современными версиями YARD/Ruby/Sequel не работает.
Мой вариант, конечно, не может пока похвастаться полнофункциональностью (версия 0.8.0 — это ранняя альфа), но кое-что самое важное умеет:
Генерирует список ассоциаций: many_to_many, many_to_one и one_to_many с корректными ссылками на типы.
Генерирует список полей. Также с типами, но тут есть нюансы…
Маппинг типов полей требует доработки. Кроме того, типы, не поддерживаемые SQLite, скорее всего, не будут нормально обрабатываться в принципе.
Поля берутся из Database#schema на созданной in-memory SQLite базе данных. Было бы хорошо, безусловно, брать их непосредственно из миграций,
но пока непонятно, как это сделать.
Путь к миграциям следует указать через переменную окружения.
Чего нужно доделать?
Отрефакторить и упростить обработку ассоциаций.
Расширить обработку типов в полях и сделать ее менее хрупкой. Сейчас есть подозрение, что минорная смена версии Sequel может всё поломать…
Добавить возможность брать схему из отдельно сохраненного файла (в формате JSON, скорее всего).
Но надо понимать, что я буду что-то править и дорабатывать только постольку, поскольку мне это самому нужно… Однако, если кто-то предложит
свои пулл-реквесты, или хотя бы подробные баг-репорты, отнесусь со вниманием.