Грабли задачи в других файлах - PullRequest
5 голосов
/ 23 мая 2010

Я пытаюсь использовать rake в проекте, и если я помещу все в Rakefile, он будет огромным и трудным для чтения / поиска вещей, поэтому я попытался вставить каждый namesapce в отдельный файл в lib / rake, я добавил это к началу моего грабли:

Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map { |f| require f }

загружает файл без проблем, но не имеет задач. У меня есть только один файл .rake в качестве теста на данный момент, который называется "servers.rake", и он выглядит так:

namespace :server do
    task :test do
        puts "test"
    end
end

поэтому, когда я запускаю rake server:test, я ожидаю, что появится одна строка с надписью "test", вместо этого я получу

rake aborted!
Don't know how to build task 'server:test'

Сначала я думал, что мои коды неверны, но если я скопирую содержимое lib / rake / servers.rake в Rakefile, он будет работать нормально.

Как заставить работать грабли, находящиеся в другом файле?

1 Ответ

8 голосов
/ 23 мая 2010

Требуется изменить строку в файле rake на

Dir.glob('lib/rake/*.rake').each { |r| import r }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...