使用Thor,我有一个任务可以调用另一个:
desc "prepare", "Update with the latest coursegen code and templates."
def prepare
invoke check
tplt = CourseGen::Templates.new
tplt.generate_all
end
这个想法是,如果检查'任务失败,准备任务不运行。如何使检查检测到的错误导致准备任务停止?我正在通过调用错误来报告错误,但这并不能解决问题:
desc "check", "verify that this is a valid cg directory"
def check
CourseGen::Templates.new.valid_cg_directory? ?
say("Valid cg directory") :
error("Invalid cg directory")
end