假设我们有:
task :something => [:something_else] do
# some of stuff
end
task :something_else do
# some verbose stuff
# some quiet stuff
end
现在我希望something_else
在从shell(rake something_else
)调用时执行详细内容,而在调用rake something
作为依赖时调用静默内容。
答案 0 :(得分:1)
我认为使用参数或不同的任务可能更好。
你可以做的一件事是寻找像这样的顶级任务:
task :something_else do |t|
puts "some verbose stuff" if t.application.top_level_tasks.include? 'something_else'
puts "some quiet stuff"
end
答案 1 :(得分:0)
您可以查看传递给ARGV的内容。例如:
task :something_else do
if ARGV[0] == 'something_else'
puts "Verbose Stuff!"
end
end