AFAIK、Rakeには、無条件で実行するRake::Task
と、後で名前を付けたファイルが存在しない場合に実行するRake::FileTask
という2種類のタスクがあります。また、前提条件の1つ古いものです。「必要なものをカスタマイズする」 RAKEタスクの条件
タスクを実行する必要があるかどうかを判断するロジックをカスタマイズする従来の方法はありますか?たとえば、ファイルの存在を検証するだけでなく、その内容を何らかの形でテストしたいと思った場合などです。
私は方法Rake::Task#needed?
がこれを処理するのを見ることができます、そして、サブクラスのそれを無効にすることは実際に働きます。しかし、これを行うためのより慣用的な方法がありますか? Rakefile
に直接含める方が適していると思われるものはありますか?
need :process do
# Check if file is already processed
end
task :process do
# Process file in-place
end
そのneed
ブロックのすべてがtrueを返す場合は、タスクをスキップします:
私はこのようなものを想像しています。