Ruby 构建Rake任务库的最佳方法

Ruby 构建Rake任务库的最佳方法,ruby,rake,Ruby,Rake,我用Rakefile做了一些非常普通的事情,我想建立一个普通任务库,我可以将这些任务继承到我的Rakefile中。最简单/最好的方法是什么?在项目文件夹中,您可以创建一个文件并将其命名为Rakefile。下面是一个示例文件Rakefile,如果您希望一次只获取一个文件,可以使用它来加载rake任务 #!/usr/bin/env rake # Add your own tasks in files placed in lib/tasks ending in .rake, # for example

我用Rakefile做了一些非常普通的事情,我想建立一个普通任务库,我可以将这些任务继承到我的Rakefile中。最简单/最好的方法是什么?

在项目文件夹中,您可以创建一个文件并将其命名为Rakefile。下面是一个示例文件
Rakefile
,如果您希望一次只获取一个文件,可以使用它来加载rake任务

#!/usr/bin/env rake
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/junk.rake, and they will automatically be available to Rake.

load File.expand_path('../lib/tasks/foo.rake', __FILE__)
load File.expand_path('../lib/tasks/bar.rake', __FILE__)

desc "Execute specific rake tasks"
task :execute_specific do 
  puts "I'm executing specific"
end
如果您想获取文件夹中的所有内容,请使用以下方法:

Dir.glob('lib/tasks/*.rake').each { |r| load r}

使用
rake-T
查看已加载的所有任务Dir['lib/tasks/*.rake']。每个(&method(:load))都是等效的。如果只调用一个方法,可以避免编写显式循环,这通常(可以忽略)会更快、更简洁。注:该评论提供了一个替代方案,但不是一个建议。