2014-01-19 2 views
1

Я ищу предложения/ресурсы/способы управления внешними зависимостями проекта рельсов, кроме рубиновых игр (который просто идеально подходит). Например, я хочу, чтобы добавить проверку, чтобы увидеть, если такие вещи, какУправление зависимостями Rails APART от драгоценных камней

  1. Некоторые внешние файлы (например, GDAL, питона и т.д. и т.д ..)
  2. Некоторые переменные окружения установлены или нет (например, ключи AWS доступа .. и т.д. ..)
  3. Это Рождество сегодня !?

И еще несколько.

Одна вещь, которая приходит на ум, была бы хороша, если бы эти проверки могли быть добавлены в bundler и показать сообщение об ошибке, если некоторые другие пользовательские зависимости проекта отсутствуют или нет. Я не ищу управления версиями или чего-то необычного. Просто добавьте некоторые пользовательские проверки кода, чтобы увидеть все зависимости (за исключением драгоценных камней, конечно).

Или есть лучший способ, которым люди это делают? используя единичные тесты? что, если новичок не знает, чтобы запускать модульные тесты?

Причина Я задаю этот вопрос, например, я, как опытный разработчик рельсов, хочет работать с кем-то, только начинающим. Я хочу сделать установку и настройку проекта легким и сделать ошибки подробными, если они есть.

Предложения и ссылки на хорошие ресурсы приветствуются.

UPDATE

Есть ли "элегантный" способ добавить некоторые крючки для пакетирования? скажите, чтобы он запускал некоторые модульные тесты из тестов или что-то еще?

Также я не обязательно ищу эту проверку, чтобы установить эти внешние зависимости. Просто проверьте их, и если проверка завершится неудачно, покажите дружественное пользователю сообщение и подскажите, как они могут быть установлены.

простого пример кода была бы удивительной .. предложение

+0

Невозможно создать резервную копию с полным ответом, но я бы обязательно добавил тест покрытия, который проверил среду. Если вы работаете с кем-то неопытным достаточно, чтобы не знать, как запускать тесты, то урок 1 - «Как запустить тесты». –

+0

Почему вы wsh, чтобы избежать * bundler *? –

+0

@NeilSlater У меня уже есть тестовые примеры, охватывающие окружающую среду. Но мое мышление было «установка пакета», действительно, первое, что вы делаете. Было бы замечательно, если бы мы могли запустить еще несколько проверок зависимостей вместе с ним. – Shaunak

ответ

1

majioa о использовании задачи рек имеет смысл. Вам нужно будет как-то запускать командные команды, а рейк позволяет более естественно интегрировать их в ваше приложение Rails.

Я не уверен, как вы подключаетесь к bundle, но можно подключить к рейке Rails (см. this answer). db:create или db:migrate - это обычные начальные задачи, которые вы могли бы подключить. См. this post в качестве отправной точки для обучения грабли.

Тем не менее, установка машин кажется чем-то, что следует рассматривать отдельно от самого приложения. Вы раньше смотрели Chef?

+0

спасибо за ответ Джим, да я посмотрел в шеф-повара, только я чувствую, что это будет излишним, чтобы использовать его только для проверки пары этих зависимостей ОС. Создание рейк-задач теперь имеет больше смысла со ссылками в вашем ответе. Просто нужно выяснить, как их выполнить после связки. потому что я по-прежнему считаю, что это самый простой способ поймать эти ошибки, если зависимости не выполняются. – Shaunak

Смежные вопросы