Краткий справочник

Шпаргалка по модульной структуре Ruby Packs

Краткое справочное руководство по Packs: спецификация модульных приложений Ruby, инкапсуляция публичных API и границы зависимостей.

· Опубликовано

Packs — это расширяемый стандарт организации крупных приложений Ruby и Rails в виде независимых пакетов.

Управление пакетами

# Создать новый pack-пакет
bin/packs create packs/profiles

# Добавить публичный файл API в пакет
bin/packs make_public packs/profiles/app/services/create_profile_service.rb

# Переместить файлы между пакетами
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb

# Добавить объявление зависимости между пакетами
bin/packs add_dependency packs/orders packs/inventory

Проверка границ пакетов

Packs интегрируется с Packwerk для предотвращения циклических зависимостей и утечек приватности:

# Проверить отсутствие циклических зависимостей
bin/packs validate

# Проверить нарушения приватности и зависимостей
bin/packs check packs/profiles

# Обновить package_todo.yml текущим списком нарушений
bin/packs update

Линтинг и аудит нарушений

# Проверить формат файлов package_todo.yml
bin/packs lint_package_todo_yml_files

# Проверить конфигурации package.yml
bin/packs lint_package_yml_files

# Список основных нарушений в пакете
bin/packs list_top_violations dependency packs/profiles

Полезные ссылки

Связанные темы