传递论据以贬低依赖性

时间:2016-07-19 16:20:56

标签: ruby rake

我理解如何将参数传递给rake任务,但我无法弄清楚如何将参数传递给依赖任务。

我有一个只运行相关任务列表的任务:

task foo [:alpha, :bravo, :charlie, :delta] 

我需要添加一个名为:omega的任务:

task foo [:omega, :alpha, :bravo, :charlie, :delta] 

但我需要传递一个参数。我不想将参数传递给:foo - 我只想将参数硬编码到依赖任务中。我想这样做(我知道它无效):

task foo [:omega('Some Param'), :alpha, :bravo, :charlie, :delta] 

如何传递参数?

1 个答案:

答案 0 :(得分:0)

Rake将运行所有"依赖"在运行任务之前的任务......所以我怀疑你能否实现上述目标

你能进一步解释一下你想要达到的目标吗?

Jusy作为示例,如果从命令行运行任务,您可以执行以下操作

rake foo omegaVar

在你的代码中

def confirmDestruction
    print "Are you sure you want to do that?\n"
    answer=gets()
    if answer == 'y'
      return true
    else
      exit 0
    end
end

task :omega do
   $conrimedDestruction = confirmDestruction if $conrimedDestruction.nil?
   if $conrimedDestruction
     print "${$omegaVar}\n"
   else
     print "non destructive functionality\n"
   end
end

task :alpha do
   if $conrimedDestruction
     print "${$omegaVar}\n"
   else
     print "non destructive functionality\n"
   end
end
task :foo => [:omega, :alpha, :bravo, :charlie, :delta]