2016-02-23 3 views
1

Мне нужно запустить определенную задачу rake (копирование файла общей конфигурации) прямо перед запуском сервера rails. Единственное решение, которое я нашел, состояло в том, чтобы создать новую задачу рейка, например rake server, которая делает rake copy_file; rails s. Поскольку другие разработчики могут быть путаны с новой задачей рейка, чтобы начать разработку нашего приложения, я хочу придерживаться rails s. Может, у кого-то есть идея.Запустить команду rake перед сервером rails

Благодаря

ответ

0

Вы можете сделать себе файл инициализации и сделать вашу задачу граблей там до запуска сервера

# config/initializers/some_initializer.rb 
require 'rake' 
rake copy_file 

Или, если вы не хотите использовать инициализатор вы можете сделать rails s псевдоним для репо

# config/custom_aliases.sh 
echo "you've refreshed your aliases!" 

myRailsFunction() { 
    if [ $1 == 's' ] 
    then 
    rake copy_file 
    echo 'ran rake copy_file' 
    rails $1 
    else 
    rails $1 
    fi 
} 
alias rails=myRailsFunction 

и для того, чтобы использовать это в первый раз вам нужно запустить этот

source ~/your_repo/config/custom_aliases.sh 

и теперь это будет как запустить свой сервер и вызовите реки задачу

rails s 
+0

Я также думал об использовании инициализатора, но я чувствую, что это неправильное место для копирования файлов вокруг. Я забыл упомянуть, что это необходимо только для нашей среды разработки, и если я поместил ее в инициализатор, мне нужно было бы проверить, является ли это разработкой environement и добавляет новый файл, что увеличивает сложность. – webpapaya

+0

Я просто хочу, чтобы «строить» связанные вещи были отделены от инициализаций. – webpapaya

+0

Я обновил свой ответ, чтобы включить способ неинициализатора – MilesStanfield

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