你可以用rake build制作文件夹吗?

时间:2014-06-27 19:13:38

标签: ruby-on-rails ruby rake rakefile

我没有Ruby或rake或者任何东西的经验,但我使用slate来获取API文档,它使用Ruby和rake和东西来构建文件。我对这些事情一无所知,但我所知道的是:当我做rake build时,它会更新一个文件夹(slate/build)。然后,我必须在每个slate/build之后手动将../app/docs复制到rake build。有什么我可以做的,会自动为每个rake build复制该文件夹吗?

2 个答案:

答案 0 :(得分:3)

添加到您的Rakefile

ROOT = File.expand_path('..', __FILE__)

task :build_and_move => [:build] do
  cp_r(File.join(ROOT, 'slate/build'), File.join(ROOT, '../app/docs'))
  # or
  # mv(File.join(ROOT, 'slate/build'), File.join(ROOT, '../app/docs'))
end

然后运行rake build_and_move

答案 1 :(得分:0)

您可以使用FileUtils

文档:http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-copy

文档示例:

  

将src复制到dest。如果src是目录,则此方法以递归方式复制其所有内容。如果dest是目录,则将src复制到dest / src。

FileUtils.cp 'eval.c', 'eval.c.org'
FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'
FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6', :verbose => true
FileUtils.cp 'symlink', 'dest'   # copy content, "dest" is not a symlink