【发布时间】:2016-01-14 00:19:09
【问题描述】:
在我正在处理的项目中,我使用 rakes 运行了许多解析器。当使用另一个 rake 中已经存在的方法名称时,并且因为它们都使用相同的环境,我会遇到冲突。
有没有办法限制 rake 文件在其命名空间内的范围?我认为这就是命名空间的全部意义所在?
例子:
namespace :test do
task :test_task => :environment do
...
end
def test_method(argument)
...
end
end
namespace :other_test do
task :test_task => :environment do
...
end
def test_method(argument, argument2)
...
end
end
在这种情况下,当运行rake test:test_task 时,我会收到无效数量的参数错误。另一方面,如果我在任务本身中定义方法,我必须按顺序将方法保持在 rake 文件的顶部。这有点令人困惑和丑陋。
这只是一种必要的邪恶吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails rake