Тестирование модуля, Создание 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 приложения, т. к. задача гема -- расширить существующий функционал, при том обеспечив новому коду независимость от приложений, к которому он подключен. модуль документооборот приложение репозиторий
Похожие статьи
-
Тестирование - Разработка модуля для хранения и управления документами в электронном виде
С запуска нового проекта на Rails среда создает для него всю необходимую тестовую инфраструктуру. Фреймворк поддерживает следующие виды тестов: 1)...
-
Контроллер является связующим звеном между пользователем, представлением и моделью. Он получает запросы от пользователя, взаимодействует с моделью и...
-
Веб-фреймворк Ruby on Rails разработан на языке Ruby и является вторым по популярности по версии http://hotframeworks. com. Основными чертами фреймворка...
-
Обзор паттерна MVC Впервые описал схему Model-view-controller (Модель-вид-контроллер) Трюгве Реенскауг, норвежский ученый из университета в Осло,...
-
Представление документа должно быть специфично для приложения, к которому подключается разрабатываемый модуль, поэтому навязывание разработчикам...
-
Вид - Разработка модуля для хранения и управления документами в электронном виде
Представления в Ruby on Rails реализованы в виде Erb-шаблонов -- html-файлов со вставками кода на языке Ruby. Дополнительная логика, внедряемая в шаблон,...
-
Среда Rails поддерживает работу с большинством современных баз данных, таких как MySQL, SQLite, PostgreSQL. Для этого используются различные адаптеры,...
-
Для реализации вложенных файлов было принято решение использовать сторонний гем paperclip (https://github. com/thoughtbot/paperclip). Он позволяет...
-
Разработка модели модуля с учетом архитектурных решений Полиморфные связи Документ может относиться к объектам различного типа, поэтому разумно...
-
Subversion - Разработка модуля для хранения и управления документами в электронном виде
Сайт: http://subversion. apache. org/ Subversion -- централизованная система контроля версий, распространяемая под свободной лицензией (Apache License)....
-
На рис. 4 представлена схема работы Rails-приложения. Рассмотрим ее подробнее: 1) клиент из браузера посылает запрос на сервер; 2) запрос обрабатывается...
-
Flagship Docs представляет собой популярную систему управления документами, разработанную компанией RPI Web Tech Group. Данная система решает широкий...
-
Анализ требований к модулю электронных документов Сущность документа Разрабатываемый модуль должен вводить в приложение новую сущность -- документ,...
-
Введение - Разработка модуля для хранения и управления документами в электронном виде
Актуальность Во многих современных системах автоматизированного управления бизнес-процессами предприятий возникает необходимость в организации и...
-
Еще одна причина выбрать git в качестве системы контроля версий -- сильное и профессиональное сообщество, возникшее на сайте GitHub (https://github....
-
Дополнительная логика была реализована в базовом классе документа. Для нумерации к модели документа было добавлено дополнительное поле number и создан...
-
Модуль должен поддерживать механизм состояний документов. На стадии разработки технического задания были выделены следующие состояния: - Черновик...
-
Проектирование и разработка сайта Средства разработки Язык гипертекстовой разметки HTML В Интернете сосредотачивается и передается достаточно большое...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Сравнение Git и SVN - Разработка модуля для хранения и управления документами в электронном виде
Аргументы в пользу Subversion: 1) централизованность системы позволяет не хранить на компьютере весь репозиторий, а лишь срез репозитория -- конкретную...
-
Git - Разработка модуля для хранения и управления документами в электронном виде
Git -- распределенная система контроля версий, разработанная создателем ядра Linux Линусом Торвальдсом в 2005 году. Система быстро набрала популярность и...
-
Сериализация полей - Разработка модуля для хранения и управления документами в электронном виде
Документ может содержать произвольное количество полей различных типов (номер, имя, фамилия, отчество и т. д.). Программист, реализующий наследников...
-
Документы должны иметь различные типы, которые определяют логику их поведения. Должна быть возможность создать новый тип документа и определить его...
-
Общие сведения о системах контроля версий При разработке программного обеспечения необходимо иметь подробную историю изменений в исходных кодах...
-
В настоящее время существует множество систем управления информационными ресурсами предприятия (ECM - Enterprise content management ), предназначенных...
-
Целью выполнения дипломного проекта являлась разработка модуля для комплекса многокритериальной и многопараметрической оптимизации "CADoptimizer". Данный...
-
Для слоя приложений чаще всего важен выбор не самого приложения, а той технологии, в соответствии с которой приложение создается. Это связано с тем, что...
-
Архитектура и модель, Разработка - Различные виды программ для Multi-Touch столов
Структура работы программного комплекса показана на рис. 1. Архитектурно система представляет собой набор связанных между собой приложений, состоящих из...
-
Структура комплекса представлена на рисунке 3. Комплекс состоит из следующих модулей: - пользовательский интерфейс; - математическая модель; - библиотека...
-
Одним из самых важных начальных этапов при разработке ПО является выбор технологического стека, с помощью которого будет происходить разработка продукта....
-
3.1 Описание программного модуля Jadex - это агент, ориентированный на собственный механизм принятия решений, взаимодействуя с XML и Java файлами,...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
1.4 Средства спецификаций типовых моделей - Средства для создания программных агентов
Рассмотрим типовую модель, которая получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham), где все действия...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Объектно-ориентированное программирование (ООП) является парадигмой программирования, которая представляет понятия, как "объекты", которые имеют поля...
-
Приложение разрабатывается в соответствии с паттерном проектирования Model-View-Presenter (MVP), который является производным от Model-View-Controller...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Создание представлений - Банки и базы данных. Системы управления базами данных
Представлением (View) называется виртуальная таблица, отображающая данные, получаемые из реальных таблиц БД, а также из других представлений....
-
Гражданский кодекс Российской Федерации в части четвертой регулирует вопросы охраны результатов интеллектуальной деятельности и средств индивидуализации....
Тестирование модуля, Создание gem-пакета модуля для распространения - Разработка модуля для хранения и управления документами в электронном виде