2013-07-17 56 views

回答

0

Capistrano的任務都可以」真的被參數化。您可以定義一個輔助方法,具體如下:

task :foo do 
    bar(10) 
end 

def bar(n=variables[:n]) 
    puts "N is #{n}" 
end 

如果您在具有很死心塌地:酒吧是一項任務爲好,試試這招:

task :foo do 
    bar(10) 
end 

task :bar { bar } 

def bar(n=variables[:n]) 
    puts "N is #{n}" 
end 

注意任務必須是在方法之前聲明。

+0

聽起來很酷!我會給它一個鏡頭,並回到你身邊:-) – Abdo

1

在Capistrano的3.X

desc "I accept a parameter" 
task :foo, :foo_param do |t, args| 
    foo_param = args[:foo_param] 
    puts "I am #{foo_param}" 
end 

desc "I call the foo task" 
task :bar do 
    invoke("foo", "batman") 
    # prints "I am batman" 
end 
相關問題