4
以下是否等价?Ruby Rake任务中的命名空间
namespace :resque do
task setup: :environment do
end
end
task "resque:setup" => :environment do
end
以下是否等价?Ruby Rake任务中的命名空间
namespace :resque do
task setup: :environment do
end
end
task "resque:setup" => :environment do
end
简而言之:是。当运行rake resque:setup
这两个任务将被调用。
Rake将合并这些任务。您可以通过执行以下测试:
p Rake.application.tasks
在这种情况下会返回类似
[<Rake::Task resque:setup => [environment]>]
这简直是一个数组单持有Rake::Task
对象。您也可以通过做检查命名空间任务的范围和名单:
p Rake.application.tasks.first.scope
#=> ["resque"]
如果您想了解更多了几分耙工作的内部怎么样,看看Rake::Task和Rake::TaskManager