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