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