capistrano の topメソッド
topメソッドが何してくれるのかわからなかったので、調査。
Definition
top()
Module
Capistrano::Configuration::Namespaces
使い方
namespace :cache do task :warm_up do # ... end end namespace :deploy do namespace :cache do task :restart do # ... end end task :default do update_code # (1) 同じネームスペースのupdate_codeが呼ばれる。 cache.warm_up # (2) トップレベルの「cache」ネームスペースではなく、「deploy:cache」ネームスペースのwarm_upが呼ばれる。 end task :update_code do # ... end end
(2)でトップレベルの「cache」ネームスペースのwarm_upを呼びたい場合は下記の書く。
task :default do update_code # calls the task in the same scope top.cache.warm_up # uses the top-level cache namespace end