.rake文件的rake任务

时间:2012-04-10 22:57:39

标签: ruby rake rake-task

我在Ruby 1.9.3项目中有以下Rakefile:

require 'rake/testtask'
require 'json'

Rake::TestTask.new do |t|
  t.pattern = "spec/**/*_spec.rb"
  t.verbose = true
end

task :default => :test

namespace :omglol do
  namespace :file_a do
    task :foo do
      # do some stuff
    end
  end

  namespace :file_b do
    task :bar do
      # do some stuff
    end
  end
end

如您所见,此文件的第一部分允许仅使用rake命令运行测试。第二部分包含一些任务。

实际上,我在omglol中有很多任务:file_a和omglol:file_b命名空间。这就是为什么我想在文件中移动每个文件,例如tasks/omglol/file_a.raketasks/omglol/file_b.rake

有最好的方法吗?感谢。

1 个答案:

答案 0 :(得分:3)

是。只需将逻辑移动到适当的文件中,然后require将它们移动。

示例Rakefile:

require 'rake/testtask'
require 'json'
require 'lib/tasks/omglol/file_a.rake' # <= contains your subtasks

Rake::TestTask.new do |t|
  t.pattern = "spec/**/*_spec.rb"
  t.verbose = true
end

task :default => :test

然后在lib/tasks/omglol/file_a.rake中简单地定义您的任务:

namespace :omglol do
  namespace :file_a do
    task :foo do
      # do some stuff
    end
  end
end

file_b.rake的模式相同。