2017-05-10 42 views
-1

典型rake任務的定義是這樣的:如何在定義之後向rake任務添加描述?

desc "Set the environment value for the database" 
task "environment:set" => [:environment, :load_config] do 
    ActiveRecord::InternalMetadata.create_table 
    ActiveRecord::InternalMetadata[:environment] = ActiveRecord::Migrator.current_environment 
end 

但是,如果不具備desc它,我想以後增加它在運行時,與任務定義文件後,已執行。類似desc "this is the documentation", task: :taskname。這可能嗎?

+0

看起來這裏的方法實現了覆蓋desc和行爲:http://metaskills.net/2010/05/26/the-alias-method-chain-of-rake-override-rake-task/ –

回答

0

是的,你可以在事實之後添加一個desc,只要它直接在「task」方法之上。

鏈接到GitHub庫被打破,但如果你看看at the source here,你可以看到,說明只是一個附加字符串時 rake -T被調用。

+0

通過「事實之後「我的意思是」代碼中的更深層次「。所以它不能直接在'task'方法之上。 –

+0

哦,我誤解了。不。desc方法與下一個任務方法相關聯。將desc方法放在任務後面,將desc分配給下一個任務,或者根本不放在rakefile的末尾。有兩種desc方法會導致後者超越第一種。出於好奇,爲什麼你不能把它放在任務方法之前呢?可能有某種黑客攻擊,但這超出了我的範圍。 –

+0

你的「事後」評論需要在你的問題中,就好像它一直在那裏一樣。添加它,讓其他人都能理解你在說什麼。 (不要使用「編輯」或「更新」標籤,因爲我們可以說出發生了什麼變化。)你應該解釋爲什麼你不希望它超出應該去的任務。 –