我怎么知道是从另一个任务还是从shell调用了rake任务?

时间:2011-08-26 07:11:05

标签: ruby rake

假设我们有:

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作为依赖时调用静默内容。

2 个答案:

答案 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