# Ruby/Rails ## Признаки платформы - `Gemfile` - `Gemfile.lock` - `config.ru` - `Rakefile` - `config/application.rb` (Rails) ## Признаки многомодульного проекта - Несколько `Gemfile` в подкаталогах - `engines/` каталог (движки Rails) - `gems/` каталог (монорепозиторий) ## Источники перед созданием навыка - `Gemfile` (зависимости) - `config/database.yml` - `config/routes.rb` (Rails) - `.env.example` ## Что искать в кодовой базе ### Корневые каталоги исходников - `app/`, `lib/` ### Типовые слои и каталоги: зафиксируй найденные `controllers/`, `models/`, `services/`, `jobs/`, `mailers/`, `channels/`, `helpers/`, `concerns/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | Rails Controller | `< ApplicationController`, `def index` | rails-controller | | Rails Model | `< ApplicationRecord`, `has_many`, `belongs_to` | rails-model | | Rails Migration | `< ActiveRecord::Migration`, `create_table` | rails-migration | | Service Object | `class *Service`, `def call` | service-object | | Rails Job | `< ApplicationJob`, `perform_later` | rails-job | | Mailer | `< ApplicationMailer`, `mail(` | rails-mailer | | Channel | `< ApplicationCable::Channel` | action-cable | | Serializer | `< ActiveModel::Serializer`, `attributes` | serializer | | Concern | `extend ActiveSupport::Concern` | rails-concern | | Sidekiq Worker | `include Sidekiq::Worker`, `perform_async` | sidekiq-worker | | Grape API | `Grape::API`, `resource :` | grape-api | | RSpec Test | `RSpec.describe`, `it "` | rspec-test | | Factory | `FactoryBot.define`, `factory :` | factory-bot | | Rake Task | `task :`, `namespace :` | rake-task | ## Обязательные разделы результата Добавь, если найдено: - **Контроллеры**: конечные точки HTTP - **Модели**: связи ActiveRecord - **Сервисы**: бизнес-логика - **Задания**: фоновая обработка - **Миграции**: схема базы данных ## Откуда брать команды - `Gemfile` команды - `Rakefile` задачи - `bin/rails`, `bin/rake` - README, документация и CI - Добавляй только команды, которые есть в репозитории ## Основные пути - `app/controllers/`, `app/models/` - `app/services/`, `app/jobs/` - `db/migrate/` - `spec/`, `test/` - `lib/`