5つの異なる名前空間を持つRakefileがあり、それぞれに同じ6つのメソッドシグネチャがあります。各署名の本文はまったく同じです。これらは、メソッドが使用するインスタンス変数の値のみが異なります。
具体的な例:
namespace :db do
namespace :foo do
@user = "foo"
task :create do
function_call_to_do_stuff @user
end
end
namespace :bar do
@user = "bar"
task :create do
function_call_to_do_stuff @user
end
end
end
理想的には、次のようなことができるようにしたいと思います。
module Migratable
task :create do
function_call_to_do_stuff @user
end
end
namespace :db do
namespace :foo do
include Migratable
@user = "foo"
end
namespace :bar do
include Migratable
@user = "bar"
end
end
上に示したようにすると、ミックスイン内のタスクは、適切な名前空間のタスクとして、またはそのことについてはまったくタスクとして登録されません。これを達成する方法はありますか?