В рамках проекта Saint подготовлен инструментарий, который позволяет быстро и просто генерировать web-интерфейсы для управления данными в произвольных таблицах БД, путем создания каркаса на языке Ruby. Saint позволяет создавать любые HTML-поля на чистом Ruby, поддерживает любые типы ассоциирования таблиц, комплексные фильтры, встроенный файловый менеджер и другие полезные функции. Основная цель Saint — максимально упростить управление контентом определённых таблиц БД. Код проекта распространяется под лицензией BSD. Пример интерфейса, созданного на основании простого 100-строчного скрипта, можно оценить на данной странице.
Ниже приведён пример развёртывания административного интерфейса «в два клика». Для этого понадобиться Ruby 1.9.2 (или выше) и доступ к любому SQL-серверу, поддерживаемому в DataMapper (MySQL, SQLite, PostgreSQL и т.д.).
Для начала устанавливаем Saint:
$ sudo gem install saint
Потом создаём модель (на данный момент Saint поддерживает только DataMapper ORM):
   class PageModel
       include DataMapper::Resource
       property :id, Serial
       property :name, String
   end
Дальше, создаём интерфейс:
   class Page
       include Saint::Api
       http.map :pages
       saint.model PageModel
       saint.column :name
   end
Теперь надо лишь запустить приложение. Стоит отметить что Saint построен на основе фреймворка Presto,
поэтому создаём приложение, монтируем в него Saint-интерфейс и запускаем:
app = Presto::App.new app.mount Page app.run
Данный интерфейс является демонстративно тривиальным, и позволят лишь создавать/редактировать/удалять объекты лишь одной таблицы БД. Но добавлять новые таблицы довольно просто и легко, так что можно довольно быстро построить интерфейс определённой сложности.
