среда, 20 октября 2010 г.

Изменения в RESTAS

Провёл два изменения в RESTAS.

Первое связано с механизмом субмодулей. При использовании макроса restas:mount-submodule можно настроить переменные модуля, но статическим образом, т.е. эти настройка никак не связаны с настройками родительского модуля. Порой это очень не удобно. Теперь, после проведённых изменений, можно делать примерно так:
(restas:mount-submodule -publisher- (#:restas.directory-publisher))

(restas:define-initialization (context)
(restas:with-context context
(setf (restas:context-symbol-value (restas:submodule-context (restas:find-submodule '-publisher-))
'restas.directory-publisher:*directory*)
*restas-documentation-dir*)))
Здесь переменной restas.directory-publisher:*directory* модуля restas.directory-publisher присваивается значение *restas-directory-dir* из модуля, к которому монтируется публишер и происходит это в момент инициализации основного модуля. Данный код взят из файла doc.lisp.


Второе изменение состоит в том, что я удалил поддержку garbage-pools и таким образом переменная restas:*request-pool* больше не доступна. Это сделано для упрощения, уменьшения зависимостей и для решения проблемы с LispWorks.

Комментариев нет:

Отправить комментарий