Пространства имен в задачах Ruby Rake - PullRequest
4 голосов
/ 29 июня 2011

Являются ли следующие эквиваленты?

namespace :resque do
  task setup: :environment do
  end
end

task "resque:setup" => :environment do
end

1 Ответ

3 голосов
/ 29 июня 2011

Короче говоря: да .При запуске rake resque:setup будут вызваны обе эти задачи.

Rake объединит эти задачи.Вы можете проверить это, выполнив следующее:

p Rake.application.tasks

Который в этом случае будет возвращать что-то вроде

[<Rake::Task resque:setup => [environment]>]

, который представляет собой просто массив, содержащий один Rake::Task объект.Вы также можете проверить область или список пространств имен для задачи, выполнив:

p Rake.application.tasks.first.scope
  #=> ["resque"]

Если вы хотите узнать немного больше о том, как работают внутренние компоненты Rake, ознакомьтесь с Rake :: Task и Rake :: TaskManager

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