Тестирование модуля, Создание gem-пакета модуля для распространения - Разработка модуля для хранения и управления документами в электронном виде

При генерации шаблона Rails-движка в папке test, помимо каталогов для различных тестов, создается изолированное тестовое Rails-приложение для быстрой отладки при разработке модуля. В нем можно развернуть тестовую среду, включающую в себя свои модели, контроллеры и представления.

Для тестирования разрабатываемого модуля были созданы базовые юнит-тесты. После добавления нового функционала добавлялись новые тесты и проверялась выполнимость существующих.

Создание gem-пакета модуля для распространения

Существует несколько способов расширения функциональности приложений на Ruby on Rails.

Первый из них заключается в подключении обычного gem-пакета к приложению. В языке Ruby существует менеджер пакетов RubyGems, предоставляющий стандартный формат распространения для программ и библиотек. Сами приложения на Ruby распространяются в виде gem-пакетов (гемов), устанавливаемых в систему с помощью менеджера. После установки библиотеки, поставляемой в виде гема, в систему Ruby on Rails приложение получает к ней доступ и может использовать ее возможности. Аналогичным образом использовать подобную библиотеку может и любое другое приложение, разработанное на языке Ruby.

С помощью стандартных gem-пакетов могут распространяться библиотеки, не затрагивающие функционал Ruby on Rails. Однако зачастую возникает необходимость подключения гема, тесно связанного с фреймворком: модуль должен добавлять в приложение новые модели, контроллеры и виды. Такой расширенный гем называют движком (Engine), подключаемым исключительно к Ruby on Rails приложению.

Разрабатываемый модуль должен содержать как свои модели, так и контроллеры (модели определяют логику документов, контроллеры -- взаимодействие их с пользователем). Таким образом необходимо создать движок для Ruby on Rails.

Движок, как и любой другой гем, содержит файлы, подключаемые к приложению. Однако, как было сказано выше, он содержит и файлы моделей/контроллеров/представлений. Ниже представлена структура исходного кода гема SimpleDocuments.

Структура каталогов гема повторяет структуру любого Ruby on Rails приложения, т. к. задача гема -- расширить существующий функционал, при том обеспечив новому коду независимость от приложений, к которому он подключен. модуль документооборот приложение репозиторий

Похожие статьи




Тестирование модуля, Создание gem-пакета модуля для распространения - Разработка модуля для хранения и управления документами в электронном виде

Предыдущая | Следующая