【发布时间】:2016-01-25 22:10:13
【问题描述】:
我希望我的 TODO 列表作为“rake notes”的输出得到源代码控制 (Git)。 有没有办法我可以配置“rake notes”来吐出一个可以在源代码控制下的文本文件?
【问题讨论】:
标签: ruby-on-rails git rake rake-task todo
我希望我的 TODO 列表作为“rake notes”的输出得到源代码控制 (Git)。 有没有办法我可以配置“rake notes”来吐出一个可以在源代码控制下的文本文件?
【问题讨论】:
标签: ruby-on-rails git rake rake-task todo
不完全理解你的问题的方向,所以我会从头开始。 :)
创建一个 rake 文件 :)
最常见的是在 Rails.root / lib 下,但最好(取决于精英或纯粹主义者)将其放在 lib/tasks/output_notes.rake 下(是的,.rake,而不是 .rb)
Rake 脚本有命名空间。例如,“db”是运行“rake db:migrate”的命名空间。你可以在这里看到一些例子:https://github.com/rails/rails/tree/master/railties/lib/rails/tasks
您的脚本可能看起来像这样。
namespace :vasa do
desc "Output notes"
task :output_notes do
output_file_name = "#{DateTime.now.to_i}_notes.txt"
File.open(output_file_name, 'w') { |file| file.write(Note.dump_all) }
end
end
然后您可以运行rake vasa:output_notes。想要自动将文件添加到您的仓库?
# after File.open ...
`
git add #{output_file_name}
git commit -m "added notes"
`
反引号会将其作为系统命令运行。
【讨论】:
File.exists?(output_file_name) 或类似的事情。您还可以将变量设置为File.open