特定のRakeタスク内でのみ使うメソッドの定義方法
Rails内で使うRakeタスクに以下のようなものを使おうとしました。
namespace :task1 do
task :do_something => :environment do
foo
end
def foo
p "task1"
end
end
namespace :task2 do
task :do_something => :environment do
foo
end
def foo
p "task2"
end
end
namespace
で区切られているためfoo
メソッドは別のものとして解釈されると思っていたのですがオーバーライドされてしまいました。
特定のRakeタスク内からしか呼び出さないメソッドのスコープを限定するにはどうすればよいのでしょうか?
特に決まった方法がないのであればtask1_foo
などのような命名規則を適用させようと考えています。