1
我有一個帶有5個不同名稱空間的Rakefile,每個名稱空間都有相同的6個方法簽名。每個簽名的身體完全一樣。它們僅在方法使用的實例變量的值上有所不同。可以使用mixin來減少Rake文件中的冗餘?
一個具體的例子:
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
當我做如上所示,在混入的任務不要註冊爲適當命名空間的任務 - 或者作爲任務來處理這個問題。有沒有辦法做到這一點?
是的,你寫的最後一句話讓我燒了一陣子。這仍然打開一個到重複任務名稱的問題。但它解決了一些問題! – Mike 2013-02-21 06:36:18