Как избежать конфликта имен Rake-задач для зависимостей? - PullRequest
3 голосов
/ 21 февраля 2012
namespace :jobs do
  task :environment => [:environment] do
    #Something cool
  end
end

Это вызывает циклическую зависимость от :environment, от которой я просто пытаюсь зависеть от задачи Rails environment.

Как это можно правильно настроить?

Ответы [ 2 ]

10 голосов
/ 04 марта 2012

Вы также должны иметь возможность сказать:

task :environment => [ 'rake:environment' ] do ... end

Пространство имен 'rake:' является пространством имен верхнего уровня.Это все равно что делать :: CONSTANT_NAME в ruby.

5 голосов
/ 03 марта 2012

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

namespace :jobs do
  task :environment => [ '^environment' ] do
    #Something cool
  end
end

Каждая используемая вами каретка начинает разрешение имен на один уровень выше в иерархии пространства имен.Смотри: http://rake.rubyforge.org/files/doc/rakefile_rdoc.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...