tasks/completed/routes_refactor_evaluation.md
Date: 2025-10-14 Task: Evaluate refactoring non-RESTful custom member actions to nested resource controllers
resources :sources do
post :fetch, on: :member
post :retry, on: :member
post :scrape_all, on: :member
end
This creates:
POST /sources/:id/fetch → SourcesController#fetchPOST /sources/:id/retry → SourcesController#retryPOST /sources/:id/scrape_all → SourcesController#scrape_allCreate three nested resource controllers:
resources :sources do
resource :fetch, only: [:create], controller: 'source_fetches'
resource :retry, only: [:create], controller: 'source_retries'
resource :bulk_scrape, only: [:create], controller: 'source_bulk_scrapes'
end
This would create:
POST /sources/:source_id/fetch → SourceFetchesController#createPOST /sources/:source_id/retry → SourceRetriesController#createPOST /sources/:source_id/bulk_scrape → SourceBulkScrapesController#createNew Controllers (3 files):
app/controllers/source_monitor/source_fetches_controller.rbapp/controllers/source_monitor/source_retries_controller.rbapp/controllers/source_monitor/source_bulk_scrapes_controller.rbController Code Migration:
SourcesController#fetch → SourceFetchesController#createSourcesController#retry → SourceRetriesController#createSourcesController#scrape_all → SourceBulkScrapesController#createRoutes Update:
config/routes.rbView Updates (estimated 10+ files):
link_to and button_to callsTest Updates (estimated 15+ files):
fetch, retry, scrape_all are self-documentingREFACTOR TO PURE RESTFUL CONTROLLER CONVENTIONS ✋