RakeでファイルダウンロードするDSL
こんな感じで書きたい。
code:Rakefile.rb
require "open-uri"
File.write t.name, open(t.source).read
end
directoryみたいにuriタスクみたいなのがあるといいのかな。
code:Rakefile.rb
でもこれだと% rake https://example.net/remote.txtってできるように見えちゃうな。
この時の挙動を定義できるならそれでいいけど
% rake undefined.txtってすると?
ファイルの作り方が分からないというエラーになる。
これのアナロジーでは、uri "https://example.net/remote.txt"というタスクは、リモートにファイルを置くタスクなのでは
別にいいのか。fileだって生成するブロックを渡さなければ、存在チェックだけの役割だ
FileUtils.rubyとかFileUtils.shみたいに、FileUtils.uri、FileUtils.fetchみたいなDSLを定義するのがいいのかなあ。