Какова лучшая практика для поддержки сценариев в Rails? - PullRequest
0 голосов
/ 23 апреля 2020

Что я подразумеваю под «сценарием поддержки»?

  • Допустим, у вас есть простое приложение, в базе данных есть несколько users и, возможно, немного things
  • Приложение имеет конечные точки API, но не имеет средств для создания токенов авторизации, поэтому вы пишете скрипт, который создает новый user (заданный и email) и выводит токен авторизации
  • Приложение также не позволяет пользователи должны удалить things, поэтому вы пишете скрипт для удаления thing с заданным id (возможно, установите deleted_at в now())

Вопрос в том, чтобы принять, что эти «сценарии» должны существовать и запускаться за кулисами пользователями типа администратора, где они должны жить? И как их тестировать?

  • Должны ли они жить в каталоге scripts?
  • Должны ли они быть rake задачами (lib/tasks)? (вероятно, не
  • Где-то еще?
  • (Конечно, logi c следует отделять от разбора аргументов, но где каждая часть должна жить ?)
  • Как их запускать? Как ruby скрипт (#!/bin/ruby - ./path/to/script.rb arg1 arg2 - это не известно о RAILS_ENV)? Или через runner (rails runner path/to/script.rb arg1 arg2)?
  • Как их следует тестировать? (Существуют различные «трудности» тестирования скриптов, например, в некоторых случаях требуется APP_PATH, что делает их тестирование «хакерским» или хрупким)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...