Ruby 将任务放在其他文件中
我试图在一个项目中使用rake,如果我将所有内容都放入Rakefile中,它将非常庞大,很难读取/查找内容,因此我尝试将每个名称空间都粘贴到lib/rake中自己的文件中,我在rake文件的顶部添加了以下内容:Ruby 将任务放在其他文件中,ruby,rake,Ruby,Rake,我试图在一个项目中使用rake,如果我将所有内容都放入Rakefile中,它将非常庞大,很难读取/查找内容,因此我尝试将每个名称空间都粘贴到lib/rake中自己的文件中,我在rake文件的顶部添加了以下内容: Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map { |f| require f } 它加载文件没有问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它如下所示: namespace :se
Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map { |f| require f }
它加载文件没有问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它如下所示:
namespace :server do
task :test do
puts "test"
end
end
所以当我运行rakeserver:test
时,我希望看到一行代码显示为“test”,而不是
rake aborted!
Don't know how to build task 'server:test'
起初我认为我的代码错了,但如果我将lib/rake/servers.rake的内容复制到Rakefile中,它就可以正常工作
如何使另一个文件中的rake任务工作?需要将rake文件中的行更改为
Dir.glob('lib/rake/*.rake').each { |r| import r }