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